Example #1
0
        static void Main(string[] args)
        {
            #region Example01
            Console.WriteLine("********* Example01 **********");
            ContinentFactory africa = new AfricaFactory();
            AnimalWorld      world  = new AnimalWorld(africa);
            world.RunFoodChain();


            ContinentFactory america = new AmericaFactory();
            world = new AnimalWorld(america);
            world.RunFoodChain();

            #endregion

            Console.WriteLine("");

            #region Example02
            Console.WriteLine("********* Example02 **********");
            IMobilePhone nokiaMobilePhone = new Nokia();
            MobileClient nokiaClient      = new MobileClient(nokiaMobilePhone);

            Console.WriteLine("********* NOKIA **********");
            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetNormalPhoneModelDetails());

            IMobilePhone samsungMobilePhone = new Samsung();
            MobileClient samsungClient      = new MobileClient(samsungMobilePhone);

            Console.WriteLine("******* SAMSUNG **********");
            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(samsungClient.GetNormalPhoneModelDetails());

            #endregion

            Console.WriteLine("");

            #region Example03
            Console.WriteLine("********* Example03 **********");
            Document[] documents = new Document[2];

            documents[0] = new Resume();
            documents[1] = new Report();

            // Display document pages

            foreach (Document document in documents)
            {
                Console.WriteLine("\n" + document.GetType().Name + "--");
                foreach (Page page in document.Pages)
                {
                    Console.WriteLine(" " + page.GetType().Name);
                }
            }
            #endregion

            Console.ReadKey();
        }
        public void SamsungPhoneTest()
        {
            IMobilePhone SamsungMobilePhone = new Samsung();
            MobileClient SamsungClient      = new MobileClient(SamsungMobilePhone);

            var descriptionNormalPhone = SamsungClient.GetNormalPhoneModelDetails();
            var descriptionSmartPhone  = SamsungClient.GetSmartPhoneModelDetails();

            descriptionNormalPhone.Equals(Description.SamsungGuru).Should().BeTrue();
            descriptionSmartPhone.Equals(Description.SamsungGalaxy).Should().BeTrue();
        }
        public void NokiaPhoneTest()
        {
            IMobilePhone NokiaMobilePhone = new Nokia();
            MobileClient NokiaClient      = new MobileClient(NokiaMobilePhone);

            var descriptionNormalPhone = NokiaClient.GetNormalPhoneModelDetails();
            var descriptionSmartPhone  = NokiaClient.GetSmartPhoneModelDetails();

            descriptionNormalPhone.Equals(Description.Nokia1600).Should().BeTrue();
            descriptionSmartPhone.Equals(Description.NokiaPixel).Should().BeTrue();
        }
Example #4
0
        static void Main(string[] args)
        {
            //Abstract Factorys.
            var nokiaFactory   = new Nokia();
            var samsungFactory = new Samsung();

            var nokiaClient   = new MobileClient(nokiaFactory);
            var samsungClient = new MobileClient(samsungFactory);

            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.ReadLine();
        }
Example #5
0
        static void Main(string[] args)
        {
            IMobilePhone nokiaMobilePhone = new Nokia();
            MobileClient nokiaClient      = new MobileClient(nokiaMobilePhone);

            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetNormalPhoneModelDetails());

            IMobilePhone samsungMobilePhone = new Samsung();
            MobileClient samsungClient      = new MobileClient(samsungMobilePhone);

            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(samsungClient.GetNormalPhoneModelDetails());

            Console.Read();
        }
        public static void AbstractFactory()
        {
            IMobilePhone nokiaMobilePhone = new Nokia();
            MobileClient nokiaClient      = new MobileClient(nokiaMobilePhone);

            Console.WriteLine("********* NOKIA **********");
            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetNormalPhoneModelDetails());

            IMobilePhone samsungMobilePhone = new Samsung();
            MobileClient samsungClient      = new MobileClient(samsungMobilePhone);

            Console.WriteLine("******* SAMSUNG **********");
            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(samsungClient.GetNormalPhoneModelDetails());
        }
        public static string MainFn()
        {
            string       result           = string.Empty;
            IMobilePhone nokiaMobilePhone = new Nokia();
            MobileClient nokiaClient      = new MobileClient(nokiaMobilePhone);

            result += nokiaClient.GetSmartPhoneModelDetails();
            result += nokiaClient.GetNormalPhoneModelDetails();

            IMobilePhone samsungMobilePhone = new Samsung();
            MobileClient samsungClient      = new MobileClient(samsungMobilePhone);

            result += samsungClient.GetSmartPhoneModelDetails();
            result += samsungClient.GetNormalPhoneModelDetails();

            return(result);
        }
Example #8
0
        private static void GetAbstractFactoryPattern()
        {
            ImobilePhone nokiaMobilePhone = new Nokia();
            MobileClient nokiaClient      = new MobileClient(nokiaMobilePhone);

            Console.WriteLine("********* NOKIA **********");
            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetNormalPhoneModelDetails());

            ImobilePhone samsungMobilePhone = new Samsung();
            MobileClient samsungClient      = new MobileClient(samsungMobilePhone);

            Console.WriteLine("******* SAMSUNG **********");
            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(samsungClient.GetNormalPhoneModelDetails());

            Console.ReadKey();
        }
Example #9
0
        private static void Abstract_Factory_Pattern()
        {
            // Definition = The abstract factory pattern provide an interface for creating families of related or dependent objects without specifying their concrete classes
            // TODO similar with Factory Method Pattern => Abstract Factory is a set of factory methods, Abstract Factory makes use of multiple factory methods

            IMobilePhone nokiaMobilePhone = new Nokia();
            MobileClient nokiaClient      = new MobileClient(nokiaMobilePhone);

            Console.WriteLine("********* NOKIA **********");
            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetNormalPhoneModelDetails());

            IMobilePhone samsungMobilePhone = new Samsung();
            MobileClient samsungClient      = new MobileClient(samsungMobilePhone);

            Console.WriteLine("******* SAMSUNG **********");
            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(samsungClient.GetNormalPhoneModelDetails());

            Console.ReadKey();
        }
Example #10
0
        static void Main(string[] args)
        {
            /*
             * Her product için ayrı ayrı Factory class'ları oluşturulur. Bu classlar Client (creator) sınıflardan
             * çağrılarak kullanılır.
             */
            var nokiaFactory = new NokiaFactory();
            var nokiaClient  = new MobileClient(nokiaFactory);

            Console.WriteLine("********* NOKIA **********");
            Console.WriteLine(nokiaClient.GetSmartPhoneModelDetails());
            Console.WriteLine(nokiaClient.GetNormalPhoneModelDetails());

            var samsungFactory = new SamsungFactory();
            var samsungClient  = new MobileClient(samsungFactory);

            Console.WriteLine("******* SAMSUNG **********");
            Console.WriteLine(samsungClient.GetSmartPhoneModelDetails());
            Console.WriteLine(samsungClient.GetNormalPhoneModelDetails());

            Console.ReadKey();
        }