1.57M
Категория: ПрограммированиеПрограммирование

Паттерн «Фасад»

1.

ПАТТЕРН «ФАСАД»
ВЫПОЛНИЛА ТЯГНИРЕНКО ЯНА
УЧЕНИЦА ГРУППЫ 23-106

2.

НАЗВАНИЕ ПАТТЕРНА
• «Фасад» — это структурный паттерн проектирования, который
предоставляет простой интерфейс сложной системе классов,
библиотеке или фреймворку.
• В обычной жизни фасад — это наружная часть здания, за
которой прячется всё его содержимое: стены и перегородки,
утепление, трубы, провода и прочее.
• Паттерн «Фасад» (Facade) назван так из-за его функции —
красиво «облицевать» код.

3.

НАЗНАЧЕНИЕ ПАТТЕРНА
• Паттерн Фасад упрощает взаимодействие с подсистемой,
предоставляя единый интерфейс, скрывающий ее внутреннюю
сложность. Он позволяет клиентам взаимодействовать с
комплексной подсистемой без необходимости знать
подробности ее реализации.

4.

ОБЩЕЕ ОПИСАНИЕ ПАТТЕРНА
• Фасад — это объект, который предоставляет упрощенный
интерфейс к набору существующих объектов (подсистеме). Он
выступает в роли посредника, скрывая от пользователя детали
реализации подсистемы и предоставляя более простой,
удобный интерфейс для работы с ней.

5.

ОБЩЕЕ ОПИСАНИЕ ПАТТЕРНА
• Представьте себе сложный механизм, например, автомобиль. У
него есть множество частей: двигатель, коробка передач,
тормозная система, и каждая из них имеет свои настройки и
функции. Чтобы управлять автомобилем, вам не нужно знать,
как работает каждая из этих частей. Вы просто используете
руль, педали и рычаг переключения передач.
• Фасад — это как руль, педали и рычаг переключения передач
для сложной подсистемы.

6.

СТРУКТУРА ПАТТЕРНА В ВИДЕ UMLДИАГРАММЫ КЛАССОВ

7.

РЕАЛИЗАЦИЯ ПАТТЕРНА С ПРИМЕРАМИ
КОДА НА C#

8.

РЕАЛИЗАЦИЯ ПАТТЕРНА С ПРИМЕРАМИ
КОДА НА C#

9.

РЕАЛИЗАЦИЯ ПАТТЕРНА С ПРИМЕРАМИ
КОДА НА C#

10.

РЕАЛИЗАЦИЯ ПАТТЕРНА С ПРИМЕРАМИ
КОДА НА C#

11.

ПОСЛЕДСТВИЯ ПРИМЕНЕНИЯ ПАТТЕРНА
Преимущества:
1. Упрощение использования: Скрывает сложность подсистемы,
предоставляя единый интерфейс.
2. Улучшение модульности: Разделяет подсистему от клиента, делая ее
более независимой.
3. Снижение зависимостей: Клиент взаимодействует только с Фасадом, а
не с отдельными объектами подсистемы.
4. Упрощение тестирования: Можно тестировать Фасад независимо от
подсистемы.

12.

ПОСЛЕДСТВИЯ ПРИМЕНЕНИЯ ПАТТЕРНА
Недостатки:
1. Дополнительный уровень абстракции: Может сделать код более
сложным, если используется неоправданно.
2. Ограничение гибкости: Может ограничивать доступ к отдельным
объектам подсистемы.

13.

ПАТТЕРН «ФАСАД»
ВЫПОЛНИЛА ТЯГНИРЕНКО ЯНА
УЧЕНИЦА ГРУППЫ 23-106
English     Русский Правила