设计原则: 多用组合,少用继承。
策略模式定义:定义算法簇,客户使用的只是算法的定义,与实现独立。
我的理解:
某些类有很多公用的方法,有些方法是一样的,有些需要覆盖重写。可以把不变的东西放在父类中,变化的部分抽取出来,单独实现,父类中只引用接口,与真正的实现无关。这就是策略模式。
简要胆码:J2EELib中
代码概要:
public abstract class Duck {
private FlyInterface flyInterface=null;
public Duck(FlyInterface flyInterface) {
this.flyInterface=flyInterface;
}
public void fly() {
flyInterface.fly();
}
}