示例#1
0
        private static void SimpleFactoryCreate(int n, SimpleFactory.CarbohydrateStore simpleFactory)
        {
            Carbohydrate carbohydrate;

            for (int i = 0; i < n; i++)
            {
                carbohydrate = simpleFactory.OrderRice("basmati");
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            int n = 10_000_000;
            //initialization
            var simpleFactory     = new SimpleFactory.CarbohydrateStore();
            var factoryMethod     = RiceStore.Instance;
            var abstractFactory   = new Store(HalinaFactory.Instance);
            var reflectionFactory = ReflectionRiceFactory.Instance;

            reflectionFactory.RegisterRices();
            var noRefectionFactory = NonReflectionRiceFactory.Instance;

            noRefectionFactory.RegisterRice("basmati", typeof(Basmati));
            //testing
            SimpleFactoryCreate(n, simpleFactory);
            FactoryMethodCreate(n, factoryMethod);
            AbstractFactoryCreate(n, abstractFactory);
            ReflectionFactoryCreate(n, reflectionFactory);
            NoReflectionFactoryCreate(n, noRefectionFactory);
        }