您的位置:首页 > 其它

策略模式学习

2012-06-23 21:15 155 查看
策略模式定义了一组算法族,用具有相同接口的类将算法进行封装,让他们相互之间可以替换,是的算法的变化独立于使用算法的客户端。

1. 策略模式三个原则:

封装变化

面向接口编程,而非面向实习编程

多用组合,少用继承

2. 策略模式的三种角色:

抽象策略角色:为算法组定义一组接口

具体策略角色:算法的具体实现类,每一个算法都必须实现抽象策略角色所定义的接口。

环境角色:持有策略类的引用,总被客户端调用

3. 好处:由于算法和环境相分离,因此算法的改变不会影响到环境角色。

4 缺点:客户端必需清楚有哪些策略类,以便可以灵活使用,另外,可以造成存在过多的策略类。

解决方法:使用工厂模式
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: