diff --git a/Design Pattern Examples/Facade/Program.cs b/Design Pattern Examples/Facade/Program.cs new file mode 100644 index 0000000..2da925e --- /dev/null +++ b/Design Pattern Examples/Facade/Program.cs @@ -0,0 +1,78 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; + +namespace facadeexample +{ + public class CarModel + { + public void SetModel() + { + Console.WriteLine("CarModel - SetModel"); + } + } + + public class CarEngine + { + public void SetEngine() + { + Console.WriteLine("CarEngine - SetEngine"); + } + } + + public class CarBody + { + public void SetBody() + { + Console.WriteLine("CarBody - SetBody"); + } + } + + public class CarAccessories + { + public void SetAccessories() + { + Console.WriteLine("CarAccessories - SetAccessories"); + } + } + + public class CarFacade + { + CarModel model; + CarEngine engine; + CarBody body; + CarAccessories accessories; + + public CarFacade() + { + model = new CarModel(); + engine = new CarEngine(); + body = new CarBody(); + accessories = new CarAccessories(); + } + + public void CreateCompleteCar() + { + Console.WriteLine("**** Creating a Car ****"); + model.SetModel(); + engine.SetEngine(); + body.SetBody(); + accessories.SetAccessories(); + + Console.WriteLine("*** Car creation complete ***"); + } + } + class Program + { + static void Main(string[] args) + { + CarFacade facade = new CarFacade(); + + facade.CreateCompleteCar(); + + + } + } +} +