Шаблоны проектирования ООП: Каковы преимущества шаблона состояния? - PullRequest
0 голосов
/ 04 июля 2019

Я изучаю шаблоны проектирования и узнал о модели состояния и стратегии.

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

Когда использование шаблона состояния будет более выгодным, чем использование шаблона стратегии? Кроме того, каковы будут недостатки модели состояния по сравнению с моделью стратегии?

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

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

Есть ли какие-либо другие недостатки / преимущества, которые имеет каждый из этих шаблонов по сравнению с другим? Любые идеи приветствуются.

...