Example #1
0
        //Фасад(Facade) представляет шаблон проектирования, который позволяет скрыть сложность системы с помощью предоставления упрощенного интерфейса для взаимодействия с ней.

        //Когда использовать фасад?
        //Когда имеется сложная система, и необходимо упростить с ней работу. Фасад позволит определить одну точку взаимодействия между клиентом и системой.

        //Когда надо уменьшить количество зависимостей между клиентом и сложной системой. Фасадные объекты позволяют отделить,
        //изолировать компоненты системы от клиента и развивать и работать с ними независимо.

        //Когда нужно определить подсистемы компонентов в сложной системе. Создание фасадов для компонентов каждой отдельной подсистемы позволит упростить взаимодействие между ними
        //и повысить их независимость друг от друга.
        static public void Go()
        {
            TextEditor textEditor = new TextEditor();
            Compiller  compiller  = new Compiller();
            CLR        clr        = new CLR();

            VisualStudioFacade ide = new VisualStudioFacade(textEditor, compiller, clr);

            Programmer programmer = new Programmer();

            programmer.CreateApplication(ide);
        }
Example #2
0
 public void CreateApplication(VisualStudioFacade facade)
 {
     facade.Start();
     facade.Stop();
 }