策略模式Strategy

今天看书的时候不小心又看到了策略模式的描述,感觉挺经典的:

  创建一个能够根据所传递的参数对象的不同而具有不同行为的方法,被称为策略设计模式。

这个就是我们的策略模式,使用的是传递接口对象,使用对应对象的策略处理对应的问题。

图:

  

简单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();}
}
原文地址:https://www.cnblogs.com/aigeileshei/p/7245378.html