今天看书的时候不小心又看到了策略模式的描述,感觉挺经典的:
创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,被称为策略设计模式。
这个就是我们的策略模式,使用的是传递接口对象,使用对应对象的策略处理对应的问题。
图:
简单Demo:
abstract class Customer{ int money; public abstract void payFor();}class BOSS extends Customer{ public void payFor(){ System.out.println("工作态度不错"); }}class manager extends Customer{ public void payFor(){ money = money - 10; }}class SuperMarket { public void pay(Customer customer){ customer.payFor();}}