如果正在考虑使用OOPS原则设计国际象棋游戏。我无法想象移动一块后的用例应该如何处理。 正如我们现在当玩家将他的作品从一个地方移动到另一个地方时。很少有人认为会发生。像pawn可以在最后一行到达新的棋子将在船上而不是那个棋子或者可以检查对手或者这个检查也可以检查配偶。那么这些案件应该如何处理?这些逻辑应该在哪个类上?链责任设计模式在这里更适合吗?
答案 0 :(得分:0)
您需要组合设计模式。
对于移动,您可以使用命令模式,因为这将有助于您跟踪追逐的基本动作。
然后您可以使用装饰器模式将功能提供给不同的玩家和盒子。
总的来说,您可以拥有 MVC模式,其中视图将是播放器板本身,控制器可以拥有用户提供的命令,还包含最后一对中讨论的设计模式段落。
然后您可以拥有定义功能的所有模型。