Я пытаюсь обращал внимание на шаблон стратегии и придумал следующий пример:Как удалить круговую зависимость от использования шаблона стратегии?
- Я хотел бы создать новые игры, основанные на шахматы за исключением частей, которые двигаются по-разному.
- Я также хочу использовать шаблон стратегии, чтобы ввести поведение (как они могут перемещаться) в части.
Но если у нас есть Board
, Piece
и MoveBehavior
объекты
Board
->Piece
потому чтоBoard
содержитPiece
sPiece
->Board
потому что часть должна пройти вBoard
как a параметрMoveBehavior
, которому необходимBoard
, чтобы решить, какие шаги приемлемы.
Как мы можем избавиться от этой круговой зависимости? Кроме того, не является ли это общей проблемой в более реалистичных примерах, потому что поведение требует достаточно большого состояния для принятия решений? Я думаю, что если поведение суперпросто, дело не в том, чтобы не использовать шаблон стратегии.