Рубрики
Без рубрики

Рисунок фасада

Обеспечить единый интерфейс для набора интерфейсов в подсистеме. Фасад определяет более высокий уровень интеграции… Помечено структурными, шаблонными, шаблонами проектирования, java.

Обеспечить единый интерфейс для набора интерфейсов в подсистеме. Фасад определяет интерфейс более высокого уровня, который упрощает использование подсистемы.

  • Фасад: знает, какие классы подсистем отвечают за запрос. Делегирует клиентские запросы соответствующим объектам подсистемы.
  • Классы подсистем: реализуют функциональность подсистемы. Выполняйте работу, назначенную объектом Фасада. Не иметь никакого представления о фасаде и не ссылаться на него.
public class Main {

    public static void main(String[] args) {
        Facade facade = new Facade();
        facade.methodA();
        facade.methodB();
    }
}

public class SubSystemOne {
    public void methodOne() {
        System.out.println(" SubSystemOne Method");
    }
}

public class SubSystemTwo {
    public void methodTwo() {
        System.out.println(" SubSystemTwo Method");
    }
}

public class SubSystemThree {
    public void methodThree() {
        System.out.println(" SubSystemThree Method");
    }
}

public class SubSystemFour {
    public void methodFour() {
        System.out.println(" SubSystemFour Method");
    }
}

public class Facade {

    private SubSystemOne one;
    private SubSystemTwo two;
    private SubSystemThree three;
    private SubSystemFour four;

    public Facade() {
        one = new SubSystemOne();
        two = new SubSystemTwo();
        three = new SubSystemThree();
        four = new SubSystemFour();
    }

    public void methodA() {
        System.out.println("\nmethodA() ---- ");
        one.methodOne();
        two.methodTwo();
        four.methodFour();
    }

    public void methodB() {
        System.out.println("\nmethodB() ---- ");
        two.methodTwo();
        three.methodThree();
    }
}
methodA() ---- 
 SubSystemOne Method
 SubSystemTwo Method
 SubSystemFour Method

methodB() ---- 
 SubSystemTwo Method
 SubSystemThree Method

eidherjulian61/дизайн-шаблоны

Основные шаблоны Проектирования

ид ・ 27 сентября ・ 1 минута чтения

Оригинал: “https://dev.to/eidher/facade-pattern-5d8e”