【JAVA】-调用链设计demo

1-JAVA链式调用

1-1 执行链

主要作用是执行

public interface ExectorChain {
    void execute();
}

1-2 执行者

执行链上的元素,主要是执行动作的具体实现

public interface Executor{
        void execute(ExectorChain chain);
}

1-3 程序调用者,执行链的主要实现

public  class DefaultExectorChain implements ExectorChain {

    private final List<Executor> ExecutorList = new LinkedList();

    private int position;

    public int getPosition() {
        return position;
    }

    public void setPosition(int position) {
        this.position = position;
    }

    public void addExecutor(Executor executor) {
        ExecutorList.add(executor);
    }

    @Override
    public void execute() {
        while (position < this.ExecutorList.size()) {
            Executor executor = ExecutorList.get(position);
            position = position + 1;
            executor.execute(this);
        }
    }

    public static void main(String[] args) {
        DefaultExectorChain chain = new DefaultExectorChain();
        chain.addExecutor(new Executor1());
        chain.addExecutor(new Executor2());
        chain.addExecutor(new Executor3());
        chain.execute();
    }
}

1-4 程序调用者,执行链的主要实现

public class Executor1 implements Executor {
    @Override
    public void execute(ExectorChain chain) {
        System.out.println("--------------------Hello World");
    }
}
public class Executor2 implements Executor {
    @Override
    public void execute(ExectorChain chain) {
        System.out.println("--------------------1111111");
    }
}
public class Executor3 implements Executor {
    @Override
    public void execute(ExectorChain chain) {
        System.out.println("--------------------2222222");
    }
}
发布了58 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/dong8633950/article/details/104184205