Подробные сведения о применяемых шаблонах

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

Шаблон реализации

(Два параметра, зависимость от одного параметра, микрошаблон)

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

Шаблон интерфейса

(Два параметра, зависимость от одного параметра, повторное использование одного шаблона)

Шаблон интерфейса - это шаблон, который повторно использует шаблон в своей реализации и сам повторно используется некоторыми образцами шаблонов. Шаблон реализации - это простой шаблон (иногда он называется микрошаблоном). Он используется шаблоном интерфейса с целью обеспечить реализацию аргументом реализации аргументов интерфейса. У шаблона интерфейса два параметра: один - для обозначения интерфейса, а другой - для обозначения реализации. Он включает пример базового делегированного преобразования с помощью использования определений шаблонов и делегирования зависимостей шаблонов. Это очень простой, но вместе с тем эффективный шаблон, который также упоминается в других частях документации по шаблонам. Этот шаблон также показывает сочетание использования делегатов шаблона и пользовательского исходного кода для реализации методов обновления зависимостей шаблона. Шаблон реализации повторно используется для обеспечения взаимосвязей реализации, а пользовательский исходный код метода обновления используется для того, чтобы при реализации были применены все операции, определенные для аргументов интерфейса.

Шаблон списка ключевых слов

(Два параметра, зависимость от одного параметра, микрошаблон)

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

Шаблон направленной связи

(Шесть параметров, зависимость от пяти параметров, микрошаблон)

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

Шаблон делегирования

(Два параметра, зависимость от одного параметра, повторное использование трех шаблонов)

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

Шаблон стратегии

(Три параметра, зависимость от двух параметров, повторное использование двух шаблонов)

Шаблон стратегии основан на стандартном шаблоне стратегии. Он повторно использует список ключевых слов и примеры шаблонов интерфейса и содержит пример делегированного отображения параметров. У него три параметра: один представляет интерфейс стратегии, другой - конкретную стратегию и третий - контекст самой стратегии. Для демонстрации повторного использования шаблона ключевых слов шаблон вставляет ключевое слово <<Strategy>> в аргумент стратегии параметра интерфейса. Шаблон интерфейса повторно используется для того, чтобы интерфейс стратегии был реализован связанными аргументами конкретного параметра стратегии.

Шаблон синглета

(Параметров нет)

Шаблон синглета основан на стандартном шаблоне синглета. Это пример шаблона без параметров. Параметром может считаться сам экземпляр шаблона. Этот шаблон представляет свои экземпляры как классы вместо более распространенного представления в виде кооперирований. Шаблон используется функционально следующим образом: необходимо перенести его из панели Структура шаблона в класс, который необходимо сделать синглетом. Перенос этого шаблона на поверхность диаграммы (в пакете) создает экземпляр синглета и, таким образом, создает класс, представляющий этот экземпляр.

Абстрактный фабричный шаблон

(Пять параметров, зависимость от пяти параметров, повторное использование одного шаблона)

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

* Design Patterns: Elements of Reusable Object-Oriented Software, Gamma, Helm, Johnson and Vlissides (Addison-Wesley, 1995) copyright (c) 1995 by Addison-Wesley Publishing Company, Inc. Все права защищены.

На уровень выше: Применяемые шаблоны

Отправить комментарий