Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OLOLO-1.doc
Скачиваний:
3
Добавлен:
22.11.2019
Размер:
404.48 Кб
Скачать

Оглавление

Вопросы к экзамену по дисциплине «ДГИ. Шаблоны проектирования» 2

1 Adapter 3

2 façade 4

3 Bridge 5

4 Decorator 6

5 Proxy, Composite 7

Proxy 7

Composite 8

6. lazy Initialization, Singleton 9

lazy Initialization 9

Singleton 9

7 Object Pool 11

8 Prototype 13

9 Builder 14

10 Factory Method 15

11 Abstract Factory 16

12 Command 17

13 Strategy 18

14 Observer 19

15 Iterator 20

16 Chain of responsibility 21

17 Mediator 22

18 Template Method 23

19 Active Record 24

20 Unit of Work 25

21 lazy load 26

22 Identity Map 27

23 Data Access Objects 28

Вопросы к экзамену по дисциплине «дги. Шаблоны проектирования»

  1. Структурные шаблоны. Adapter

  2. Структурные шаблоны. Facade

  3. Структурные шаблоны. Bridge

  4. Структурные шаблоны. Decorator

  5. Структурные шаблоны. Proxy, Composite

  6. Порождающие шаблоны. Lazy Initialization, Singleton

  7. Порождающие шаблоны. Object Pool

  8. Порождающие шаблоны. Prototype

  9. Порождающие шаблоны. Builder

  10. Порождающие шаблоны. Factory Method

  11. Порождающие шаблоны. Abstract Factory

  12. Поведенческие шаблоны. Command

  13. Поведенческие шаблоны. Strategy

  14. Поведенческие шаблоны. Observer

  15. Поведенческие шаблоны. Iterator

  16. Поведенческие шаблоны. Chain of Responsibility

  17. Поведенческие шаблоны. Mediator

  18. Поведенческие шаблоны. Template Method

  19. Архитектурные шаблоны. Active Record

  20. Архитектурные шаблоны. Unit of Work

  21. Архитектурные шаблоны. Lazy Load

  22. Архитектурные шаблоны. Identity Map

  23. Архитектурные шаблоны. Data Access Object

1 Adapter

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

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

Пример

Интеграция разрабатываемой системы с различными внешними системами учета налогов. Используются локальные программные объекты, обеспечивающие адаптацию (Адаптеры), при отправке сообщения к такому объекту выполняется обращение к внешней системе с использованием ее собственного программного интерфейса.

Использование полиморфизма оправдано для адаптации к различным внешним системам.

2 façade

Проблема - Как обеспечить унифицированный интерфейс с набором разрозненных реализаций или интерфейсов, например, с подсистемой, если нежелательно высокое связывание с этой подсистемой или реализация подсистемы может измениться?

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

Пример - Фасадный объект обеспечивает реализацию паттерна "Устойчивый к изменениям" с точки зрения защиты от изменений в реализации подсистемы.. Паттерн проектирования "Полиморфизм", является хорошей иллюстрацией данного метода. В данном случае точкой вариации или неустойчивости являются интерфейсы внешних систем. При добавлении интерфейса "НалоговаяСистемаАдаптер" на основе принципа полиморфизма получается, что внутренние объекты смогут взаимодействовать с устойчивым интерфейсом, а детали взаимодействия с внешними системами будут скрыты в конкретных реализациях адаптеров.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]