策略模式

来源:互联网 发布:ds数据精灵安卓破解版 编辑:程序博客网 时间:2024/05/22 10:40

http://www.cnblogs.com/java-my-life/archive/2012/05/10/2491891.html

这里对于策略模式的实现不做描述,有兴趣的可一看链接中的博文。
或自己去看《Head First Design Patterns 》这本书。

设计原则:
1:找出应用中需要变化之处,把他们独立出来,不要和那些不会变化的代码混在一起。
2:针对接口编程,而不是针对实现编程。
3:多用组合,少用继承。

可以用到的场景(例子):
1:针对不同的会员提供不同的优惠。我们平常购物经常会被问到“有会员卡吗?”,QQ的红,黄,蓝,绿,紫钻等。购物时根据角色的会员等级,相同的服务提供不同的优惠折扣。
2: 回合制游戏,不同的角色,比如有王,王后,骑士。他们使用刀,剑,斧头等武器。他们有杀敌的行为。他们一次只能使用一种武器,但是他们可以切换使用的武器杀敌。

刚开始学,感觉主要还是去理解OO,减少代码的耦合,避免一次性代码、重复的代码。方便后期维护,拓展。 对多态和继承有进一步的理解。

原创粉丝点击