Java

Паттерн Абстрактная Фабрика

Паттерн Абстрактная Фабрика

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

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

Описание: Паттерн Фабричный метод необходим для ликвидирования зависимости кода от создания конкретных объектов. Создание экземпляра объекта выделяется в абстрактный метод фабрики, который реализуется потомком этой фабрики. В основу паттерна заложен принцип наследования. Пример:

Коды классов:

Паттерн Простая Фабрика

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

Паттерн Декоратор

Описание: Паттерн Декоратор необходим для построения систем-“матрёшек”, где каждый класс можно завернуть в другой, тем самым расширив его функционал. Расширение осуществляется посредством нехитрой композиции. Пример:

Коды классов:

UML-диаграмма: Паттерн Декоратор используется в

Паттерн Наблюдатель

Описание: Паттрен Наблюдатель необходим для создания слабосвязанного взаимодействия субъекта (самолет, космический корабль и другие субъекты, имеющие состояние) с наблюдателями (монитор, чёрный ящик или другой объект, использующий информацию о субъекте по-своему). Паттерн Наблюдатель реализует отношение “один ко многим”. Пример:

Паттерн Стратегия

Описание: Инкапсулируем поведенческие семейства алгоритмов в отдельные классы, реализующие общий интерфейс. Это позволяет изменять аспекты объекта во время выполнения программы. Пример:

Коды классов:

UML-диаграмма: Универсальный совет: отдавайте предпочтение интерфейсу, нежели абстрактному классу