Exemplo n.º 1
0
        static public void Main()
        {
            ConcreteCreator1 factory1 = new ConcreteCreator1();
            ConcreteCreator2 factory2 = new ConcreteCreator2();

            factory1.FactorMethod();
            factory2.FactorMethod();
        }
        public void get_product_1()
        {
            var creator = new ConcreteCreator1();

            var product = creator.FactoryMethod();

            Assert.That(product.GetValue() == ProductTypes.ValueProduct1);
        }
Exemplo n.º 3
0
        static void Main(string[] args)
        {
            Console.WriteLine("-----------Adapter--------------");
            #region Adapter

            SpecificClass specific = new SpecificClass();
            ICommon       common   = new Adaptee(specific);

            Console.WriteLine(common.Method());

            #endregion

            Console.WriteLine("-----------Factory--------------");
            #region Factory

            Creator[] creators = new Creator[2];
            creators[0] = new ConcreteCreator1();
            creators[1] = new ConcreteCreator2();

            foreach (Creator creator in creators)
            {
                Product product = creator.FactoryMethod();
                Console.WriteLine("Created {0}", product.GetType().Name);
            }

            #endregion

            Console.WriteLine("-----------Strategy--------------");
            #region Strategy

            Context context = new Context(new ConcreteStrategy1());
            context.ExecuteOperation();

            context.SetStrategy(new ConcreteStrategy2());
            context.ExecuteOperation();

            #endregion

            Console.WriteLine("-----------Singleton--------------");
            #region Singleton

            Singleton singleton1 = Singleton.GetInstance();
            Singleton singleton2 = Singleton.GetInstance();

            if (singleton1 == singleton2)
            {
                Console.WriteLine("Singleton works, there are same objects.");
                singleton1.DoLogic();
                singleton2.DoLogic();
            }
            else
            {
                Console.WriteLine("Singleton incorrect");
                singleton1.DoLogic();
                singleton2.DoLogic();
            }
            #endregion
        }
        public void CreateProductWithFactoryMethodCreator1()
        {
            // Create concrete creator 1
            Creator creator = new ConcreteCreator1();
            // Create concrete creator 2
            //FactoryMethodTest.Creator creator = new FactoryMethodTest.ConcreteCreator2();

            // Build product (1, 2) using concrete creator (1, 2)
            Product product = creator.FactoryMethod();

            Assert.IsNotNull(product as ConcreteProduct1);
        }