Зачем группировать шаблон проектирования из трех частей? - PullRequest
4 голосов
/ 08 июня 2010

Шаблон проектирования может разделить 3 важные части. Почему три части?

  • Образцы творчества
  • Структурные узоры
  • Поведенческие паттерны

Как я могу разделить его на три части? По чем?

Ответы [ 5 ]

4 голосов
/ 08 июня 2010

Предложите вам получить книгу Банды четырех , в которой представлена ​​(и объясняется) эта классификация.

3 голосов
/ 08 июня 2010

+ 1, чтобы получить Банду Четырех.

Также имейте в виду, что это основные классические модели. И деление делается на основе того, как и для каких шаблонов можно использовать. Как вы можете увидеть описание в Википедии .

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

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

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

Вы также можете иметь шаблон параллелизма, шаблоны корпоративной интеграции, шаблоны распределенного проектирования и т. Д. *

1 голос
/ 08 июня 2010

На сайте шаблоны дизайна сгруппированы в соответствии с их функциями. Шаблоны проектирования, связанные с созданием объектов, называются «шаблонами создания», шаблоны, связанные с классами, взаимодействующими друг с другом, называются «структурными шаблонами», а другие шаблоны - «поведенческими шаблонами». Я не знаю, являются ли они официальными группами или что их создал веб-сайт.

0 голосов
/ 08 июня 2010

DoFactory.com - хорошее место для старта.

0 голосов
/ 08 июня 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...