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(); }
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(); }
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); }
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(); }
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(); }
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(); }