职责链

public class ProcessChain implements  IProcess
{
    private List<IProcess> processList = new ArrayList<>();

    public ProcessChain addProcess(IProcess process)
    {
        processList.add(process);
        return this;
    }

    public <T> T process()
    {
        T result;

        for (IProcess iProcess : processList)
        {
            result = iProcess.process();

            //已结束
            if (result != null)
            {
                return result;
            }

        }

        //均没有找到。
        return null;
    }

}



public interface IProcess
{
    public <T> T process();
}

猜你喜欢

转载自zyz611.iteye.com/blog/2324045
今日推荐