完整的系统类图
The Strategy Pattern(策略模式) 问题。。。 新的需求总是可能随时出现。能否设计这样的系统,它能够方便地添加新的功能,而不至于导致对系统的重大修改。 灾难往往是由短期未臻最优的决策累积而成。在软件开发方面,不考虑长远问题的设计往往导致维护和开发的灾难。 软件开发时忽视维护性的原因 确实无法预测新需求如何变化 如果我们试图预测需求的变化,则可能会在分析阶段止步不前。 如果我们想把软件编写的能够方便的添加新功能,则可能在设计阶段止步不前。 我们没有这样做的预算 进度所逼,客户要求立即实现。 我们以后会考虑这个问题。 应对策略 在设计时考虑变化。不是准确地预测变化的性质,而是假设变化会出现,并尝试预测其出现的位置。 基于这一考虑的设计原则就是: 针对接口编程,而不是针对实现编程 优先考虑使用对象组合,而不是类继承 分离变化,进行封装 鸭塘游戏 Joe所在的电脑游戏公司研发了一款游戏软件,模拟池塘中各种鸭子嬉戏(游动并且鸣叫)的场景。软件很受欢迎。 开始时游戏的设计者采用了标准的面向对象技术 新的需求 游戏上市后的次年,竞争越来越激烈。 在外出度假一周后,公司高管们决定要对游戏作重大创新,在下周的股东大会上,他们要让股东们“印象深刻”。 杀手锏 高管们觉得,如果鸭子能够飞起来,则能击败同类游戏的竞争者。 Joe的上司告诉高管们,Joe可以在一周内搞定,因为他是一个
原创力文档

文档评论(0)