Позволяет скрыть сложность системы путем сведения всех возможных внешних вызовов к одному объекту, делегирующему их соответствующим объектам системы.
Шаблон применяется для установки некоторого рода политики по отношению к другой группе объектов. Если политика должна быть яркой и заметной. Если же необходимо обеспечить скрытность и аккуратность, более подходящим выбором является шаблон Заместитель (Proxy).
program Facade; type TComputer = class public procedure PlugIn; procedure PowerMonitor; procedure Power; end; TNotebook = class procedure Power; end; TKettle = class procedure PlugIn; procedure Power; end; TFacade = class public procedure PowerOn(aDevice: TObject); end; procedure TFacade.PowerOn(aDevice: TObject); begin if aDevice is TComputer then with TComputer(aDevice) do begin PlugIn; PowerMonitor; Power; end; if aDevice is TNotebook then with TNotebook(aDevice) do Power; if aDevice is TKettle then with TKettle(aDevice) do begin PlugIn; Power; end; end; begin with TFacade.Create do try PowerOn(TComputer.Create); PowerOn(TNotebook.Create); PowerOn(TKettle.Create); finally Free; end.
Комментариев нет:
Отправить комментарий