public static void EX1()
        {
            AbstractFactory factory = new ConcreteFactory1();

            AbstractObject createdObject = factory.CreateObjet();

            factory = new ConcreteFactory2();

            AbstractObject createdObject2 = factory.CreateObjet();

            createdObject.ViewDetails();
            createdObject2.ViewDetails();
        }
        public static void EX1()
        {
            AbstractFactory.Exemplo1.AbstractFactory factory = new ConcreteFactory1();

            AbstractFamily1 obj1 = factory.CreateObjetFamily1();
            obj1.Details();

            factory.CreateObjetFamily2().Details();

            factory = new ConcreteFactory2();
            factory.CreateObjetFamily1().Details();
            factory.CreateObjetFamily2().Details();
        }
        /// <summary>
        /// Entry point into console application.
        /// </summary>
        public static void Demo()
        {
            // Abstract factory #1
            AbstractFactory factory1 = new ConcreteFactory1();
            Client client1 = new Client(factory1);
            client1.Run();

            // Abstract factory #2
            AbstractFactory factory2 = new ConcreteFactory2();
            Client client2 = new Client(factory2);
            client2.Run();

            // Wait for user input
            Console.ReadKey();
        }
Exemple #4
0
        public static void TestAbstractFactory()
        {
            AbstractFactory factory1 = new ConcreteFactory1();
            var             client1  = new Client(factory1);

            AbstractFactory factory2 = new ConcreteFactory2();
            var             client2  = new Client(factory2);

            Assert.AreNotEqual(factory1.GetType().Name, factory2.GetType().Name);
            Assert.AreSame(factory1.GetType().BaseType, factory2.GetType().BaseType);

            Assert.AreSame(client1.GetType(), client2.GetType());

            StringAssert.AreEqualIgnoringCase("ProductB1 interacts with ProductA1", client1.Run(true));
            StringAssert.AreEqualIgnoringCase("ProductB2 interacts with ProductA2", client2.Run(true));
        }
Exemple #5
0
        public static void Run()
        {
            //https://www.codeproject.com/Articles/328373/Understanding-and-Implementing-Abstract-Factory-Pa

            AbstractFactory factory1 = new ConcreteFactory1();
            Client          client1  = new Client(factory1);

            client1.Run();

            // Abstract factory #2

            var    factory2 = new ConcreteFactory2();
            Client client2  = new Client(factory2);

            client2.Run();
        }
Exemple #6
0
        static void Main(string[] args)
        {
            // Fábrica Abstrata 1
            AbstractFactory factory1 = new ConcreteFactory1();
            Client          client1  = new Client(factory1);

            client1.Run();

            // Fábrica Abstrata 2
            AbstractFactory factory2 = new ConcreteFactory2();
            Client          client2  = new Client(factory2);

            client2.Run();

            Console.ReadKey();
        }
        public void AbstractFactoryTest()
        {
            // Abstract factory #1

            AbstractFactory factory1 = new ConcreteFactory1();
            Client          client1  = new Client(factory1);

            client1.Run();

            // Abstract factory #2

            AbstractFactory factory2 = new ConcreteFactory2();
            Client          client2  = new Client(factory2);

            client2.Run();
        }
Exemple #8
0
    public static void Main()
    {
        var factory1 = new ConcreteFactory1();
        var client   = new Client();

        client.SetFactory(factory1);
        client.Run();

        Console.WriteLine();

        var factory2 = new ConcreteFactory2();

        client.SetFactory(factory2);
        client.Run();

        Console.ReadKey();
    }
    // Entry point into console application.
    public static void Main()
    {
        // Abstract factory #1
        AbstractFactory factory1 = new ConcreteFactory1();
        Client          client1  = new Client(factory1);

        client1.Run();

        // Abstract factory #2
        AbstractFactory factory2 = new ConcreteFactory2();
        Client          client2  = new Client(factory2);

        client2.Run();

        // Wait for user input
        Console.ReadKey();
    }
        // "AbstractFactory"
        public void TestAbstractFactoryPattern()
        {
            // Abstract factory #1
            AbstractFactory factory1 = new ConcreteFactory1();
            var             c1       = new Client(factory1);

            c1.Run();

            // Abstract factory #2
            AbstractFactory factory2 = new ConcreteFactory2();
            var             c2       = new Client(factory2);

            c2.Run();

            // Wait for user input
            Console.Read();
        }
Exemple #11
0
        public static void RunConceptExample()
        {
            ConceptExample.AbstractFactory factory1 = new ConcreteFactory1();
            Client client1 = new Client(factory1);

            client1.Run();

            // Abstract factory #2

            ConceptExample.AbstractFactory factory2 = new ConcreteFactory2();
            Client client2 = new Client(factory2);

            client2.Run();

            // Wait for user input

            Console.ReadKey();
        }
Exemple #12
0
        //Aбстрактна фабрика - Abstract Factory
        public Run AbstractFactory()
        {
            Console.WriteLine("Abstract Factory:");

            // Abstract factory #1
            Patterns.Creational.AbstractFactory.AbstractFactory factory1 = new ConcreteFactory1();
            Client c1 = new Client(factory1);

            c1.Run();

            // Abstract factory #2
            Patterns.Creational.AbstractFactory.AbstractFactory factory2 = new ConcreteFactory2();
            Client c2 = new Client(factory2);

            c2.Run();

            return(this);
        }
Exemple #13
0
        private void btnAbstractFactory_Click(object sender, EventArgs e)
        {
            // ------------------------------------------------------------------------
            // Abstract Factory Pattern
            // https://dofactory.com/net/abstract-factory-design-pattern
            // Frequency of use: 5 High

            txtOutput.Text = "";

            // Abstract factory #1
            AbstractFactory factory1 = new ConcreteFactory1();
            Client          client1  = new Client(factory1);

            txtOutput.Text += client1.Run() + Environment.NewLine;

            // Abstract factory #2
            AbstractFactory factory2 = new ConcreteFactory2();
            Client          client2  = new Client(factory2);

            txtOutput.Text += client2.Run() + Environment.NewLine;
        }
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");

            // Abstract factory #1

            AbstractFactory factory1 = new ConcreteFactory1();
            Client          client1  = new Client(factory1);

            client1.Run();

            // Abstract factory #2

            AbstractFactory factory2 = new ConcreteFactory2();
            Client          client2  = new Client(factory2);

            client2.Run();

            // Wait for user input

            Console.ReadKey();
        }
Exemple #15
0
    public void test(string[] args)
    {
        AbstractFactory factory1 = new ConcreteFactory1();
        Environment e1 = new Environment(factory1);
        e1.Run();

        AbstractFactory factory2 = new ConcreteFactory2();
        Environment e2 = new Environment(factory2);
        e2.Run();

        Console.Read();
    }
 // Abstract factory gives interface for creation of the famillies of interconnected objects with a given interfaces without specifing concrete
 // types of given objects.
 public void AbstractFactoryClient()
 {
     AbstractFactory  factory = new ConcreteFactory1();
     AbstractProductA product = factory.CreateProductA();
 }
Exemple #17
0
        public void SetUp()
        {
            GangOfFour.Creational.AbstractFactory factory1 = new ConcreteFactory1();

            _client = new Client(factory1);
        }
 public void test01()
 {
     ConcreteFactory1 f1 = new ConcreteFactory1();
     f1.createProductA().method01();
     f1.createProductB().method02();
 }