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 VisualStudioFacade(TextEditor te, Compiller compil, CLR clr)
 {
     this.textEditor = te;
     this.compiller  = compil;
     this.clr        = clr;
 }