2075 / C# / Шаблони / Фасад (Facade)
Організовує роботу з кількома різними об'єктами до роби з одним фасадом Приховує складність системи Фасад стежить за правильним порядком ініціалізації та взаємодії Фасад - простий інтерфейс для роботи зі складною підсистемою Фасад зі складної підсистеми вибирає лише потрібні вам фічі public static void Main(string[] args) { Facade facade = new Facade(); facade.MethodA(); facade.MethodB(); Console.ReadKey(); }
public class SubSystem1 { public void Method1() { Console.WriteLine("--> SubSystem1 Method"); } } public class SubSystem2 { public void Method2() { Console.WriteLine("--> SubSystem2 Method"); } } public class SubSystem3 { public void Method3() { Console.WriteLine("--> SubSystem3 Method"); } }
public class Facade { SubSystem1 one; SubSystem2 two; SubSystem3 three; public Facade() { one = new SubSystem1(); two = new SubSystem2(); three = new SubSystem3(); } public void MethodA() { Console.WriteLine("\nFacade MethodA:"); one.Method1(); two.Method2(); } public void MethodB() { Console.WriteLine("\nFacade MethodB:"); two.Method2(); three.Method3(); } }
Facade MethodA:
–> SubSystem1 Method
–> SubSystem2 Method
Facade MethodB:
–> SubSystem2 Method
–> SubSystem3 Method
–> SubSystem1 Method
–> SubSystem2 Method
Facade MethodB:
–> SubSystem2 Method
–> SubSystem3 Method