【发布时间】:2018-03-14 17:28:02
【问题描述】:
如果正在考虑使用 OOPS 原则设计国际象棋游戏。我无法考虑移动棋子后的用例应该如何处理。 正如我们现在,当玩家将他的棋子从一个位置移动到另一个位置时。很少有人认为会发生这种情况。就像棋子可能到达最后一排一样,新棋子将在船上而不是那个棋子,或者可以检查对手,或者这个检查也可以检查队友。那么这些情况应该如何处理?这些逻辑应该放在哪个类上?链式责任设计模式更适合这里吗?
【问题讨论】:
-
您可能需要多种设计模式。我会想到指挥部,也许还有责任链。整个问题的层次太高,无法仅用一种设计模式来回答。该方法可能始终取决于您的环境和代码库。我可以从您的问题中想象这是一个独立的应用程序,但它也有可能是一个简单的网络应用程序。
-
一个好的状态机可能会帮助您保持井井有条。
标签: oop design-patterns chess