/// <summary> /// Método Principal Main para Console /// </summary> private static void Main() { Console.WriteLine("Pattern Observer"); ObserverPattern.Observer01(); Console.WriteLine("\n\n-----------------"); Console.WriteLine("Pattern Singleton"); SingletonPattern.Singleton01(); Console.WriteLine("\n\n-----------------"); Console.WriteLine("Pattern Prototype"); PrototypePattern.CreateCars(); Console.WriteLine("\n\n-----------------"); Console.WriteLine("Build Design Pattern"); BuilderDesignPattern.BuilderDesign01(); Console.WriteLine("\n\n-----------------"); Console.WriteLine("Factory Pattern"); FactoryPattern.FactoryPattern01(); Console.WriteLine("\n\n-----------------"); Console.WriteLine("Abstract Factory Pattern"); AbstractFactoryPattern.AbstractFactory01(); Console.WriteLine("\n\n-----------------"); Console.ReadKey(); }
static void Main(string[] args) { //Singleton Pattern Console.WriteLine("**************************** Singleton Pattern *****************************"); SingletonPattern ins = SingletonPattern.GetInstance(); Console.WriteLine("1st Instance Id : " + ins.GetHashCode()); SingletonPattern ins1 = SingletonPattern.GetInstance(); Console.WriteLine("2st Instance Id : " + ins1.GetHashCode()); Console.WriteLine("Both the Instance call has the same hashCode implies it is single/same instance"); Console.WriteLine("**************************** Strategy Pattern *****************************"); XmlFileReader xml = new XmlFileReader(); xml.readFile(); xml.writeFile(); xml.EnableComment(new XmlComment()); xml.writeFile(); Console.WriteLine("**************************** Adapter Pattern *****************************"); IPlane Helicopter = new HelicopterAdapter(new Helicopter()); Helicopter.wheels(); Helicopter.Wings(); Console.WriteLine("**************************** Factory Pattern *****************************"); Animal _tiger = AnimalFactory.GetAnimalInstance("Tiger"); _tiger.Name(); _tiger.FoodType(); Console.ReadKey(); }
public static SingletonPattern GetInstance() { if (instance == null) { instance = new DesignPatterns.SingletonPattern(); } return(instance); }
static void Main(string[] args) { Console.WriteLine("Starting Design Patterns Tester"); PrintSpase(); #region Singleton var singletonCollector = new List <SingletonPattern> { SingletonPattern.GetSingleton(), SingletonPattern.GetSingleton() }; for (int i = 0; i < singletonCollector.Count; i++) { Console.WriteLine($"Singleton {i} " + singletonCollector[i].GetInstance()); } PrintSpase(); #endregion #region Factory var vehicleCollector = new List <Vehicle>() { VehicleFactory.GetVehicleByPrice(4000), VehicleFactory.GetVehicleByPrice(40000), VehicleFactory.GetVehicleByPrice(4000000) }; for (int i = 0; i < vehicleCollector.Count; i++) { Console.WriteLine($"Factory {i} created type of {vehicleCollector[i].GetType()} {vehicleCollector[i].VehicleName()} Costs: {vehicleCollector[i].VehiclePrice()} "); } PrintSpase(); #endregion #region Abstract Factory var mobiles = new List <Device>() { AbstractFactory.AbstractFactory.GetMobileDevice(Model.Samsung, Type.Smart), AbstractFactory.AbstractFactory.GetMobileDevice(Model.Lg, Type.Tablet), AbstractFactory.AbstractFactory.GetMobileDevice(Model.Nokia, Type.Simple) }; for (int i = 0; i < mobiles.Count; i++) { Console.WriteLine($"Abstact Factory: {i} Brand {mobiles[i].Brand()} Model: {mobiles[i].Model()} Screen: {mobiles[i].ScreenSize()} Battery: {mobiles[i].BatteryLife()} YoR: {mobiles[i].YearOfRelease()}"); } PrintSpase(); #endregion #region Prototype #endregion PrintSpase(); Console.WriteLine("Closing Design Patters Tester"); Console.ReadLine(); }
public static SingletonPattern CreateSingletonObject() { if (singletonObject == null) { lock (lockObject) { if (singletonObject == null) { singletonObject = new SingletonPattern(); } } } return(singletonObject); }
public static void Main(string[] args) { Pattern builderPattern = new BuilderPattern(); builderPattern.Run(); Pattern decoratorPattern = new DecoratorPattern(); decoratorPattern.Run(); Pattern singletonPattern = new SingletonPattern(); singletonPattern.Run(); Pattern commandPattern = new CommandPattern(); commandPattern.Run(); }
/// <summary> /// Defines the entry point of the application. /// </summary> /// <param name="args">The arguments.</param> /// <exception cref="Exception">system exception </exception> public static void Main(string[] args) { try { ////this variable is used for do condtion string doCondition = null; ////this variable is used for switch case int switchCases = 0; do { Console.WriteLine("enter 1 for singleton pattern"); Console.WriteLine("enter 2 for factory design patten"); Console.WriteLine("enter 3 for adaptor design pattern"); Console.WriteLine("enter 4 for proxy design pattern"); Console.WriteLine("enter 5 for facade design pattern"); Console.WriteLine("enter 6 for mediator design pattern"); Console.WriteLine("enter 7 for observer 1 designer pattern"); Console.WriteLine("enter 8 for observer 2 designer pattern"); Console.WriteLine("enter 9 for visitor design pattern"); Console.WriteLine("enter 10 for adaptor2 design patten"); Console.WriteLine("enter 11 for Reflection"); Console.WriteLine("enter 12 for Annotation program"); try { switchCases = Convert.ToInt32(Console.ReadLine()); } catch (Exception) { Console.WriteLine("enter valid number only"); } switch (switchCases) { case 1: SingletonPattern reference1 = SingletonPattern.GetInstance; reference1.Message("hi how are you"); SingletonPattern reference2 = SingletonPattern.GetInstance; reference2.Message("manju"); Console.ReadLine(); break; case 2: EmployeeFactory employeeFactory = new ConcreteEmployeeFactory(); IFactory permanentEmployee = employeeFactory.Factory("PermanentEmployee"); permanentEmployee.Details(); IFactory temporaryEmployee = employeeFactory.Factory("TemporaryEmployee"); temporaryEmployee.Details(); Console.ReadLine(); break; case 3: ITarget itarget = new EmployeeAdapator(); ThirdPartyBillingSystem client = new ThirdPartyBillingSystem(itarget); client.ShowEmployeeList(); break; case 4: ProxyClient proxyClient = new ProxyClient(); Console.WriteLine("Data from Proxy Client = {0}", proxyClient.GetData()); break; case 5: HomeFacade homeFacade = new HomeFacade(); homeFacade.LeaveHome(); homeFacade.ArriveHome(); break; case 6: MediatorMainClass mediator = new MediatorMainClass(); mediator.Mediator(); break; case 7: ObserverClass observerClass = new ObserverClass(); observerClass.Observer(); break; case 8: ObserverRealTime realTime = new ObserverRealTime(); realTime.ObserverRealTimeExample(); break; case 9: VisitorRunner visitorRunner = new VisitorRunner(); visitorRunner.Runner(); break; case 10: VendorAdapter vendorAdapter = new VendorAdapter(); vendorAdapter.SellingItems(); break; case 11: ExampleOfReflection exampleOfReflection = new ExampleOfReflection(); exampleOfReflection.ReflectionImplementation(); break; case 12: AnnotationPrograms annotationPrograms = new AnnotationPrograms(); annotationPrograms.ValidationOfAnnotation(); break; } Console.WriteLine("enter y to go to main method or enter any key to stop execution"); doCondition = Console.ReadLine(); }while (doCondition.Equals("y")); } catch (Exception e) { throw new Exception(e.Message); } }