策略模式(Strategy Pattern):

  我的理解,将代码中每个变化之处抽出,提炼成一个一个的接口或者抽象类,让这些变化实现接口或继承抽象类成为具体的变化类。再利用多态的功能,可将变化之处用接口或抽象类的对象代替,再用其子类为对象赋值,这样就可以将对象随时更换成具体的变化类。

  枯燥的文字描述总是没有实际的例子浅显易懂。

举例:(我是基于notepad++和cmd命令编译运行的JAVA代码

  现在有个鸭子俱乐部,里面有各式各样的鸭子(只有想不到,没有做不到的鸭子)。

  我们来一步一步实现这个鸭子类:

  1.定义一个抽象鸭子类(Duck):

 1 public abstract class Duck{//抽象鸭子类
 2     public void fly(){//行为:飞行
 3         System.out.println("I'm flying!");
 4     }
 5     public void quack(){//行为:呱呱叫
 6         System.out.println("Gua Gua!");
 7     }
 8     public void swim(){//行为:游泳
 9         System.out.println("I'm swimming!");
10     }
11 }
Duck

相关文章: