GoF паттерны Flashcards

GoF patterns

1
Q

Стратегия

A

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

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Наблюдатель

A

Определяет (отношение) зависимость типа один ко многим между объектами таким образом, что при изменении состояния одного объекта все зависимые от него оповещаются об этом событии

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Декоратор

A

Класс расширяющий функциональность другого класса без использования наследования

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Фабрика и Фабричный метод

A

Фабрика инкапсулирует подробности создания объектов. Фабричный метод определяет интерфейс создания объектов но оставляет подклассам решение о том какой конкретно класс инстанцировать

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Абстрактная фабрика

A

Предоставляет интерфейс для создания компонентов системы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Синглтон

A

Класс который может иметь только один экземпляр

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Команда

A

Инкапсулирует запрос в виде объекта, объект заключает в себе само действие и его параметры. Может поддерживать отмену операций

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Адаптер

A

Преобразует интерфейс класса к другому интерфейсу, на который рассчитан клиент. Обеспечивает совместную работу классов невозможную из-за несовместимости интерфейсов

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Фасад

A

Предоставляет унифицированный интерфейс к группе интерфейсов подсистемы

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Шаблонный метод

A

Определяет основные шаги алгоритма и позволяет подклассам предоставить реализацию одного или нескольких шагов. (Определяет основу алгоритма и позволяет наследникам предоставлять реализацию некоторых шагов алгоритма без изменения структуры в целом)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Итератор

A

Предоставляет механизм перебора элементов коллекции без раскрытия ее внутреннего представления (реализации)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Компоновщик

A

Объединяет объекты в древовидные структуры для представления иерархий часть/целое. Позволяет клиенту выполнять однородные операции с отдельными объектами

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Состояние

A

Используется когда объект должен менять поведение в зависимости от своего состояния во время выполнения программы. Внешне это выглядит так как будто объект меняет свой класс

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Прокси

A

Объект который является посредником между двумя другими объектами и который управляет доступом к оригинальному объекту

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Мост

A

Структура которая разделяет абстракцию и реализацию таким образом, чтобы они могли меняться независимо друг от друга (структурный)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Билдер

A

Инкапсулирует создание сложного объекта, предоставляет интерфейс для создания объекта

17
Q

Цепочка обязанностей

A

Использутеся когда необходимо предоставить нескольким объектам возможность обработать запрос

18
Q

Приспособленец

A

Объект который представляет себя как уникальный экземпляр в разных частях программы, но фактически не является таковым

19
Q

Интерпретатор

A

Решает часто встречающуюся, но подверженную изменениям задачу

20
Q

Посредник

A

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

21
Q

Хранитель (мементо)

A

Позволяет не нарушая инкапсуляцию зафиксировать и сохранить внутреннее состояние объекта так, чтобы позднее восстановить его в этих состояниях

22
Q

Прототип

A

Определяет интерфейс создания объекта через клонирование другого объекта вместо создания его через конструктор

23
Q

Посетитель (visitior)

A

Описывает операцию которая выполняется над объектами других классов. При изменении класса visitor нет необходимости менять обслуживаемые классы