频道栏目
首页 > 程序开发 > 软件开发 > Java > 正文
Java开发设计模式之责任链模式解析
2018-06-13 11:32:39      个评论    来源:verejava的博客  
收藏   我要投稿

Java开发设计模式之责任链模式解析。

ackage com.chain.theory;

public class TestHandler
{
	public static void main(String[] args)
	{
		Handler hrHandler=new HrHandler(null);
		Handler managerHandler=new ManagerHandler(hrHandler);
		Handler financeHandler=new FinanceHandler(managerHandler);
		Handler frontHandler=new FrontHandler(financeHandler);
		
		frontHandler.handleRequest("离职");
	}
}





package com.chain.theory;

public class ManagerHandler implements Handler
{
	private Handler nextHandler;
	
	public ManagerHandler(Handler nextHandler)
	{
		this.nextHandler=nextHandler;
	}
	

	@Override
	public void handleRequest(String request)
	{
		if("审批".equals(request))
		{
			System.out.println("经理审核完毕");
			if(nextHandler!=null)
				nextHandler.handleRequest("批准");
		}
		
	}

}





package com.chain.theory;

public class HrHandler implements Handler
{
	private Handler nextHandler;
	
	public HrHandler(Handler nextHandler)
	{
		this.nextHandler=nextHandler;
	}
	

	@Override
	public void handleRequest(String request)
	{
		if("批准".equals(request))
		{
			System.out.println("人事批准");
			if(nextHandler!=null)
				nextHandler.handleRequest("完毕");
		}
		
	}

}





package com.chain.theory;

public interface Handler
{
	public void handleRequest(String request);
}





package com.chain.theory;

public class FrontHandler implements Handler
{
	private Handler nextHandler;
	
	public FrontHandler(Handler nextHandler)
	{
		this.nextHandler=nextHandler;
	}
	

	@Override
	public void handleRequest(String request)
	{
		if("离职".equals(request))
		{
			System.out.println("离职申请");
			if(nextHandler!=null)
				nextHandler.handleRequest("审核");
		}
		
	}

}





package com.chain.theory;

public class FinanceHandler implements Handler
{
	private Handler nextHandler;
	
	public FinanceHandler(Handler nextHandler)
	{
		this.nextHandler=nextHandler;
	}
	

	@Override
	public void handleRequest(String request)
	{
		if("审核".equals(request))
		{
			System.out.println("财务审核完毕");
			if(nextHandler!=null)
				nextHandler.handleRequest("审批");
		}
		
	}

}
点击复制链接 与好友分享!回本站首页
上一篇:Java开发设计模式之建造模式解析
下一篇:Java开发设计模式之克隆模式解析
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站