java设计模式之策略模式(strategy)

概述

        前面学习的工厂模式、状态模式,和今天的策略模式,有很大的相似之处,又有微微的差异,
需要我们仔细去推敲才能理解这些模式各自的区别,画出一条比较清晰而又笼统界线。

        策略模式策略模式定义了策略的输入与输出,实现则由各个独立的类完成。这些类的实现虽然不同,
但是由于接口是一致的,因此可以使用相同的接口给用户提供不同的策略。策略模式
可以让一组策略共存,代码互不干扰。策略模式将选择策略的逻辑从策略本身中分离了出来。

什么时候用策略模式?

        当一个计算机程序存在多种策略时,代码就会变得复杂。要从一组策略中选择合适的策略,
选择逻辑自身可能会很复杂。当多种策略的选择与执行导致复杂度增加时,就可以使用策略摸
式来简化它。

 

代码示例

1,创建一个接口来定义策略操作

 

2,分别用不同的类来实现策略接口

相加策略:

 

相乘策略:

 

3,创建环境类管理策略

 

4,测试

输出结果:

相加策略:6
相乘策略:8

 

 

参考书籍:
《Java设计模式(第2版)中文版》


guolin

guolin

相信世界,向往美好,记录成长过程,分享个人心得,充实平凡生活。 网站信条:因为喜欢,所以热爱。

发表评论

电子邮件地址不会被公开。 必填项已用*标注