虽然我对面向对象理论有一定的基础,知道如何建立一个简单的俄罗斯方块/井字棋游戏,采用“进化式”设计没有太大问题,但我想学习完全不同的方法,先设计系统,然后再尝试实现它。我正在寻找一些教材,能够教我如何解决问题(例如井字棋游戏),并学习如何制作其UML设计(对象域模型->系统序列图,最后是通信图)。我正在寻找像练习册这样的东西,其中包含一些理论、例子、练习和解决方案(如果可能)。我知道人们通常推荐UML和模式,但我在我的面向对象课程中学习过,发现它很糟糕。
马丁•福勒(Martin Fowler)提出的著名咖啡机问题。 咖啡机 另一种设计方案 用非过程化代码解决有趣的问题 Jeff Bay在这篇帖子中提到了它:OOD / OOP Etudes / Code exercises 解释了问题及其解决方案,非常好 最后购买 这本书,专门讲解GRASP原则