Многие паттерны несмотря на различные задачи, для которых они созданы имеют общие тенденции их построения и реализуют одни и те же свойства. К данной группе «Порождающие паттерны» относятся паттерны, абстрагирующие процесс создания, инстанцирования участников своих связей, т.е. классов и объектов.
Таким образом получаем архитектурное решение, дизайн, который не зависит от способа создания, представления объектов. Т.е. участники могут быть созданы разными способами: непосредственное кодирование (компиляция и добавление) этих объектов, либо композиция, агрегация из уже имеющихся и т.д.
Можно догадаться что же больше всего фигурирует в таких паттернах. Правильно – интерфейсы и абстрактные классы. Детали же, особенности конкретных классов –инкапсулируются в системе, так же как и инкапсулируется, скрывается информация, как эти классы и объекты связываются и стыкуются между собой.
Самыми простыми словами все это можно описать так: любым способом создаются объекты или классы, реализующие утвержденные паттерном интерфейсы, либо наследующие определенные абстрактные классы, дальше все это просто передается на «вход» системы, которая, используя определенные в тех интерфейсах контракты (поля и методы), - реализует свои бизнес задачи системы своего уровня.
Гибкость таких паттернов выражается в том, что неважно «что», «кем» и «когда» создается , главное в итоге – просто создать готовых участников, имеющих известные контракты взаимодействия и передать их дальше.
При этом ничто не ограничивает в способах: можно создать всех этих участников статически на этапе компиляции (нельзя будет их изменить не перекомпилируя код данного уровня), либо динамически – на этапе выполнения (можно будет менять данный набор участников, например, в зависимости от содержания конфигурационный файлов).
pattern#: | 202 [раздел: Порождающие | hits: 163019] |
Паттерн: | Фабричный метод (Factory Method) [10] |
аннотация: | Фабричный метод – паттерн, порождающий подклассы. |
содержание: | «Паттерн Factory Method» Фабричный метод – паттерн, порождающий подклассы. Задает интерфейс для создания объекта, и оставляет подклассам выбор того, какие в действительности классы инстанцировать (среди «Си»-шников был известен также под названием виртуальный... |
Aвтор: | this
[добавлена: 5 июня 2007]
1
|
pattern#: | 200 [раздел: Порождающие | hits: 126759] |
Паттерн: | Абстрактная фабрика (Abstract Factory) [15] |
аннотация: | Абстрактная фабрика – паттерн, порождающий объекты |
содержание: | «Паттерн Abstract Factory»Абстрактная фабрика – паттерн, порождающий объекты Предоставляет интерфейс для создания группы объектов, бизнес объектов участников всей системы, использующихся далее в рамках всего приложения. Смысл в том, что их конкретные классы не объявляются,... |
Aвтор: | this
[добавлена: 16 мая 2007]
2
|
pattern#: | 204 [раздел: Порождающие | hits: 120368] |
Паттерн: | Одиночка (Singleton) [4] |
аннотация: | Одиночка – паттерн, порождающий объекты: гарантирует, что у класса будет не более 1 созданного экземпляра, предоставляет к нему глобальную точку доступа. |
содержание: | «Паттерн Singleton» Одиночка – паттерн, порождающий объекты. Гарантирует, что у класса будет не более 1 созданного экземпляра, предоставляет к нему глобальную точку доступа (обычно статический метод). Очень часто бывает нужно хранить в программе некоторый объект –... |
Aвтор: | this
[добавлена: 30 июня 2007]
3
|
pattern#: | 203 [раздел: Порождающие | hits: 119419] |
Паттерн: | Прототип (Prototype) [2] |
аннотация: | Прототип – паттерн, порождающий объекты, определяет, задает виды создаваемых объектов с помощью интерфейса некоторого экземпляра-прототипа, и создает новые... |
содержание: | «Паттерн Prototype» Прототип – паттерн, порождающий объекты. Определяет, задает виды создаваемых объектов с помощью интерфейса некоторого экземпляра-прототипа, и создает новые объекты путем копирования (клонирования) этого экземпляра.Прототип – это единственный... |
Aвтор: | this
[добавлена: 22 июня 2007]
4
|
pattern#: | 201 [раздел: Порождающие | hits: 101902] |
Паттерн: | Строитель (Builder) [6] |
аннотация: | Строитель – паттерн, конструирующий, собирающий объект. |
содержание: | «Паттерн Builder» Строитель – паттерн, конструирующий, собирающий объект. Отделяет конструирование сложного объекта от его модели, т.е содержания и представления. Подробней. Есть клиент, которому часто нужно создавать различные, сложные объекты. При этом процесс... |
Aвтор: | this
[добавлена: 30 мая 2007]
5
|