Esempio n. 1
0
        //O codigo do Cliente trabalha com uma instância do Concrete Creator, embora através de sua interface base.
        //Enquanto o Client continuar trabalhando com o creator via interface base, você pode passar qualquer subclasse
        //do creator.

        public void ClientCode(Criador creator)
        {
            //..
            Console.WriteLine("Cliente: Eu não sei como a classe Creator funciona," +
                              "mas tudo funciona mesmo assim.\n" + creator.SomeOperation());
            //..
        }
Esempio n. 2
0
        static void Main()
        {
            var criadores = new Criador[2];

            criadores[0] = new CriadorA();
            criadores[1] = new CriadorB();

            foreach (var criador in criadores)
            {
                var produto = criador.FactoryMethod();
                Console.WriteLine("Criado {0}", produto.GetType().Name);
            }

            Console.Read();
        }