Программирование. Популярные шаблоны проектирования

Шаблоны проектирования

шаблоны

Шаблон Описание
Абстрактная фабрика
(Abstract Factory)
Поддерживает создание наборов родственных объектов
путем определения вида набора, но не вида каждого
отдельного объекта.
Адаптер (Adapter) Преобразует интерфейс класса в другой интерфейс.
Мост (Bridge) Создает интерфейс и реализацию, так что их можно
изменять независимо друг от друга.
Компоновщик
(Composite)
Состоит из объекта, содержащего дополнительные объекты
такого же типа, позволяя клиентскому коду
взаимодействовать с объектом верхнего уровня и не заботиться о
детальных объектах.
Декоратор (Decorator) Динамически назначает объекту виды ответственности
без создания отдельных подклассов для каждой возможной
конфигурации видов ответственности.
Фасад (Facade) Предоставляет согласованный интерфейс к коду, который
в противном случае не предоставлял бы согласованного
интерфейса.
Фабричный метод
(Factory Method)
Создает экземпляры классов, производных от конкретного
базового класса, причем отдельные производные классы
отслеживаются только «Фабричным методом».
Итератор (Iterator) Этот серверный объект предоставляет доступ к каждому
элементу набора в последовательном порядке.
Наблюдатель (Observer) Поддерживает синхронизацию нескольких объектов,
при которой объект уведомляет набор связанных объектов
об изменениях любого члена набора.
Одиночка (Singleton) Предоставляет глобальный доступ к классу, который может
иметь один и только один экземпляр.
Стратегия (Strategy) Определяет набор динамически взаимозаменяемых
алгоритмов или видов поведения.
Шаблонный метод
(Template Method)
Определяет структуру алгоритма, оставляя некоторые
детали реализации подклассам

Шаблоны упрощают взаимодействие между разработчиками, позволяя им общаться на более высоком уровне. Шаблоны снижают число ошибок, стандартизируя детали популярных решений.  С шаблонами связаны две ловушки. Первая — насильственная адаптация кода к какому-нибудь шаблону. Иногда легкое изменение кода в соответствии с известным шаблоном может сделать код более понятным. Но если адаптация кода к стандартному шаблону требует слишком крупного изменения, это может привести к усложнению программы. Вторая — применение шаблона, продиктованное не целесообразностью, а желанием испытать шаблон в деле.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *