此模式应用到的原则:
1、找出应用可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码写在一起。
2、针对接口编程,而非针对实现编程
3、多用组合,少用继承。
策略模式定义:
定义算法族,分别封装起来。让它们之间可以互相替换,此模式让算法的变化独立与使用此算法的客户 。
下面直接把书中的代码弄上来
代码:
1、首先定义抽象鸭子类(超类)
2、飞行接口+各种方法类
3、鸭子的叫法接口+实际叫法
4、各种鸭子类
5、测试类
此模式应用到的原则:
1、找出应用可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码写在一起。
2、针对接口编程,而非针对实现编程
3、多用组合,少用继承。
策略模式定义:
定义算法族,分别封装起来。让它们之间可以互相替换,此模式让算法的变化独立与使用此算法的客户 。
下面直接把书中的代码弄上来
代码:
1、首先定义抽象鸭子类(超类)
2、飞行接口+各种方法类
3、鸭子的叫法接口+实际叫法
4、各种鸭子类
5、测试类