前言
这几天通过《HeadFirst》这本书,我再一次开始对对设计模式的学习并通过JAVA的代码来进行实践。希望我的学习记录和分享可以帮助您有新的认识,也欢迎您的留言沟通。
历程
程序代码的完善是随着一条故事的主线来发展的,更据不同的环境目标需求会有新的设计和编写。故事的起点仅仅只是一个简单的OO技术的应用,一个类的继承。
但是当涉及“维护”时,为了“复用”(reuse)目的而使用继承,结局并不完美。所以便有了下面的设计,附上一张类图
public abstract class Duck { //Duck抽象类
FlyBehavior flyBehavior;
QuackBehavior quackBehavior;
public abstract void display();
public void performFly(){
flyBehavior.fly();
}
public void performQuack(){
quackBehavior.quack();
}
public void swi