感想
我们对可变的东西规划为一种接口,实现变化则实现接口,并在抽象对象中,添加可变的接口,以到达继承抽象类的时候,能够灵活的调整而无需进行大规模的调整。
1.模式结构
2.对可变的规划为接口,代码如下:
1 | public interface FlyBehavior { |
2.对接口进行实现,代码如下:
飞得慢的行为:
1 | public class BadFlyBehavior implements FlyBehavior { |
飞得好的行为:
1 | public class GoodFlyBehavior implements FlyBehavior { |
不会飞的行为:
1 | public class NoFlyBehavior implements FlyBehavior { |
4.再抽象对象中添加可变的接口,并附带有Set方法,代码如下:
1 | public abstract class Duck { |
4.继承抽象对象,并实现抽象方法并可添加实现接口的方法,代码如下:
实现1:
1 | public class GreenHeadDuck extends Duck { |
实现2:
1 | public class RedHeadDuck extends Duck { |
5.使用,代码如下:
1 | public class StimulateDuck { |