Найти тему

Фасад Facade

Фасад Facade – это один из самых используемых структурных шаблонов проектирования. С его помощью можно реализовать единый простой интерфейс для взаимодействия со сложной системой или группой систем.

Например, нужно реализовать процесс размещения сделки на фондовом рынке. У поставщика котировок берётся текущая рыночная цена инструмента (Quote), затем размещается рыночная заявка (Order) и в процессе торговли по факту размещённой заявки на бирже регистрируется сделка (Deal). Я специально набросал процесс очень схематично. На самом деле он гораздо сложнее. Но даже в упрощённом варианте нужно выполнить как минимум три действия. Попробуем реализовать их через Facade.

Класс Quote реализует поставку котировок

-2

В классе Order содержится логика, необходимая для размещения рыночной заявки

-3

И, наконец, класс Deal минимально отображает процесс размещения сделки на фондовом рынке.

-4

Даже в таком минимальном исполнении система уже выглядит достаточно сложной. Поэтому попробую все необходимые действия оформить через фасад Facade.

-5

Ниже предоставлен простейший код для проверки работы фасада (он выступает в роли клиентского приложения).

-6

Всё множество и многообразие манипуляций с рыночной заявкой теперь вложено в один простой метод.