/* 策略模式(Strategy)
* 组成:
* --抽象策略角色:策略类,通常由一个接口或者抽象类实现
* --具体策略角色:包装了算法行为
* --环境角色:持有一个策略类的引用,最终给客户端调用。
* 意义:
* --可以使开发人员开发出许多可以替换的部分组成的软件,并且各个部分之间是弱连接关系。
* --弱连接特性使软件有更强扩展性。
* 缺点:
* 1、客户端必须知道所有的策略类,并自行决定使用哪个策略类。
* 2、造成很多策略类
* 解决方法:
* --采用工厂方法解决一定程度上的缺点
*
* 编写步骤:
* 1、编写抽象策略角色接口,对策略对象定义一个公共接口。
* 2、编写具体策略角色类,该类实现了上面的公共接口。
* 3、编写环境角色类,在使用策略对象的类中保存一个对策略类对象的引用。
* 在此类中实现对策略对象引用的set和 get方法。或者使用构造方法完成赋值
*/
计算器
对人员进行排序
各种狗以及各种叫声
本文详细介绍了策略模式的概念、组成及应用场景,通过计算器运算、人员排序及不同狗叫声的实例,展示了如何利用策略模式来提高代码的灵活性和扩展性。
739

被折叠的 条评论
为什么被折叠?



