您的位置:首页 > 其它

策略模式(1)

2016-03-09 09:16 274 查看
策略模式定义:分别封装行为接口,实现算法族,超类里放行为接口的对象,在子类里具体设定行为对象。原则就是,分离变化部分,封装接口,基于接口编程各种功能。此模式让行为算法的变化独立于算法的使用者。

策略模式注意点:

分析项目中的变化部分与不变部分

多用组合少用继承;用行为类组合,而不是行为的继承。更有弹性

案例1:

在三国杀里面,我们每个玩家都是一个独立的对象。有时候我们会抽到一些武器卡,每个对象只能持有一个武器。对于这种情况我们及时没有策略模式的概念,也会很自然的想到以下方案
案例2:在HttpClient中,HttpClient提供了很多种浏览器策略,但是用户具体实例化浏览器对象时,浏览器采取何种策略,由用户自己选择。这种也是采用策略模式的思想,提取变化部分,抽象成接口,在实现其各种子类,再动态称为浏览器对象的字段
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: