第三部分细化迭代1--基础(17-18章)素材.ppt

游戏循环算法 轮次(turn) 游戏者投掷骰子并且移动棋子。 回合(round) 所有游戏者完成一个轮次。 For N rounds for each Player p p takes a turn 谁来负责游戏循环? 非控制器,非创建,信息专家模式? 所需信息 谁持有这些信息 当前回合数 目前还没有相应的对象,但是为了实现低表示差异,将该职责分配给MonopolyGame是合理的。 所有游戏者(这样才能使每个游戏者完成其轮次) 籍由领域模型,MonopolyGame是合适的候选者 使用了私有的内部的playRound方法: 优秀的OO方法设计提倡使用具有单一目标的小型方法,这样可以在该方法级别上支持高内聚; playRound名字来源于领域词汇,增加理解 谁来完成每一轮次的活动? 每个轮次都包括掷骰子,并且根据骰子的总点数将棋子移动到相应的方格里。 专家模式:现实中由游戏者完成其轮次的活动,所以将该职责分配给Player? 违反高内聚和低耦合原则,使对象过于庞大。 就如Pos领域中,Cashier软件对象要完成几乎所有的操作! 对象设计要根据信息专家(和其他)原则将职责分配给众多对象! 所需信息 谁持有这些信息 游戏者当前的位置(知道移动的起点) 根据领域模型,Piece知道其所在的Square,Player知道代表它的Pi

文档评论(0)

1亿VIP精品文档

相关文档