Обеспечить единый интерфейс для набора интерфейсов в подсистеме. Фасад определяет интерфейс более высокого уровня, который упрощает использование подсистемы.
- Фасад: знает, какие классы подсистем отвечают за запрос. Делегирует клиентские запросы соответствующим объектам подсистемы.
- Классы подсистем: реализуют функциональность подсистемы. Выполняйте работу, назначенную объектом Фасада. Не иметь никакого представления о фасаде и не ссылаться на него.
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”