uileader 2016-07-19
说到设计模式就不得不说设计模式的六大设计原则;
以上是设计模式的六大原则,下面是实战总结的几点(以后会补充):
解释:把会变化的部分取出并“封装”起来,好让其它部分不受到影响。
结果:代码变化引起不经意后果变少,系统变得更有弹性
例子如下:
public abstract calss Duck {
FlyBehavior flyBehavior;
QuackBehavior quackBehavior;
public abstract void display();
public void performFly() {
flyBehavior.fly();
}
public void performQuack() {
quackBehavior.quack();
}
public void swim() {
System.out.println("All ducks float.");
}
//设置两个set方法,用来进行设置不同的行为
public void setFlyBehavior(FlyBehavior fb) {
flyBehavior = fb;
}
public void setQuackBehavior(QuackBehavior qb) {
quackBehavior = qb;
}
}
public interface FlyBehavior {
public void fly();
}
public class FlyWithWings implements FlyBehavior {
public void fly() {
System.out.println("I'm Flying!");
}
}
public interface QuackBehavior {
public void quack();
}
public class Quack implents QuackBehavior {
public void quack() {
System.out.println("Quack");
}
}
public class ModelDuck extends Duck {
public ModelDuck() {
flyBehavior = new FlyWithWings();
quackBehavior = new Quack();
}
public void display() {
System.out.println("I'm a model duck!");
}
}
public class Test {
public static void main(String[] args) {
Duck duck = new ModelDuck();
duck.performQuack();
duck.performFly();
}
}