Android中的设计模式之策略模式
参考 《设计模式:可复用面向对象软件的基础 》5.9 Strategy--对象行为型模式 《设计模式解析》(第二版)第九章 Strategy模式 《Android源码设计模式解析与实战》第七章策略模式 处理新需求的一种途径 灾难往往是由短期未甄选最优的决策,长期积累而引起的 在软件开发中也是如此,只关心眼前的事情,而忽视长期问题 原因: 我们确实无法预测新需求将如何变化 如果要把软件编写得能够方便地添加新功能,在设计阶段就永远止步不前了 客户或老板正死死盯着我们的进度,要求立即实现,我们没有时间多想。 我们以后会考虑这个问题 似乎就是两种选择: 过度分析或过度设计 一上来就扎进细节中,编写代码,根本不考虑长期问题。 考虑变化的设计 针对接口进行编程,而不要针对实现编程。 优先使用对象组合,而不是类继承 考虑设计中什么应该是可变的,关注对变化的概念进行封装 例子1:国际电子商务系统 这个系统的总架构中有一个控制器对象,用于处理销售请求。他能够确认何时有人在请求销售订单,并将请求转发给SalesOrder对象进行订单处理。 总架构中的SalesOrder SalesOrder对象的功能包括...