策略模式定义了算法族,分别封装起来,让他们之间可以互相替换,此模式让算法的变化独立于使用算法的客户。
设计原则:
找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
针对接口编程,而不是针对变化编程。
多用组合,少用继承。
定义2个接口 FlyBehavior.java ,QuackBehavior.java
分别实现这两个接口
定义个抽象类Duck.java 作为父类。
实现Duck.java的子类MarlldarDuck.java
做个测试用例