Фасад (Facade) — различия между версиями

Материал из Вики ИТ мехмата ЮФУ
Перейти к: навигация, поиск
(Описание)
(Описание)
Строка 7: Строка 7:
 
Разбиение на подсистемы и сведение к минимуму зависимостей подсистем - цель любого проектирования. Один из способов решения этой задачи - представление объекта Фасад, предоставляющего единый упрощенный интерфейс  
 
Разбиение на подсистемы и сведение к минимуму зависимостей подсистем - цель любого проектирования. Один из способов решения этой задачи - представление объекта Фасад, предоставляющего единый упрощенный интерфейс  
 
к сложной системе.
 
к сложной системе.
 +
=== Назначение ===
 +
Паттерн Фасад используется:
 +
* когда требуется предоставить простой интерфейс к сложной подсистеме
 +
* когда необходимо отделить подсистему от клиентов, повышая переносимость
 +
* когда требуется разбить подсистему на слои. Если подсистемы зависят друг от друга, то можно разрешить им обмениваться информацией только через фасады
  
 
=== Реализация ===
 
=== Реализация ===

Версия 09:21, 5 августа 2014

К основной странице курса

Назначение

Предоставляет простой интерфейс к большой системе, которая обычно представляет множество взаимосвязанных классов.

Описание

Разбиение на подсистемы и сведение к минимуму зависимостей подсистем - цель любого проектирования. Один из способов решения этой задачи - представление объекта Фасад, предоставляющего единый упрощенный интерфейс к сложной системе.

Назначение

Паттерн Фасад используется:

  • когда требуется предоставить простой интерфейс к сложной подсистеме
  • когда необходимо отделить подсистему от клиентов, повышая переносимость
  • когда требуется разбить подсистему на слои. Если подсистемы зависят друг от друга, то можно разрешить им обмениваться информацией только через фасады

Реализация

Диаграмма классов

FacadeCommon.png

Участники

Пример

Достоинства и недостатки

Варианты