Стратегия против шаблона - PullRequest
1 голос
/ 24 ноября 2011

Читая о шаблонах проектирования, я прочитал, что преимущество стратегии перед шаблоном состоит в том, что она позволяет инкапсулировать алгоритмы и вызывать их во время выполнения, тогда как шаблон опирается на подклассы. Но преимущество шаблона заключается в максимальном повторном использовании кода посредством подклассов. Таким образом, шаблон является лучшим шаблоном с применением принципа СУХОЙ. Но что следует прекратить использовать шаблон стратегии и в реализации алгоритма использовать шаблон шаблона для обмена кодом, который является общим для каждого алгоритма, или это плохая идея?

1 Ответ

1 голос
/ 24 ноября 2011

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

В реальной жизни шаблоны часто объединяются, и один класс может участвовать в нескольких шаблонах, имеющих разные роли.*

...