设计模式-策略模式

来源:互联网 发布:找规律软件 编辑:程序博客网 时间:2024/06/01 23:08

1.定义


定义一组算法,将每个算法都封装起来,并且使它们之间可以互换。

2.UML




3.代码


public abstract class Strategy {    abstract void doSomething();}

public class ConcreteStrategy1 extends Strategy {    @Override    void doSomething() {    }}

public class ConcreteStrategy2 extends Strategy {    @Override    void doSomething() {    }}

public class Context {    private Strategy mStrategy;    public Context(Strategy strategy) {        mStrategy = strategy;    }    public void doAnything() {        mStrategy.doSomething();    }}

public class Client {    public static void main(String[] args) {        Context context = new Context(new ConcreteStrategy1());        context.doAnything();        context = new Context(new ConcreteStrategy2());        context.doAnything();    }}


0 0
原创粉丝点击