职责链模式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了职责链模式相关的知识,希望对你有一定的参考价值。

<!DOCTYPE html>
<html lang="zh">
<head>
	<meta charset="UTF-8" />
	
	<meta http-equiv="X-UA-Compatible" content="ie=edge" />
	<title>Document</title>
</head>
<body>
	<div class="box">
	
	</div>
</body>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript">
		//职责链
		
		var Chain = function(fn){
			this.fn = fn;
			this.success = null;
			this.error = null;
		}
		
		Chain.prototype.addNext = function(fn){
			return this.success = fn;
		}
		
		Chain.prototype.reuqest = function(){
			this.fn.apply(this,arguments);
		}
		Chain.prototype.next = function(){
			return this.success && this.success.reuqest();
		}
     	
     	
     	var fn1 = new Chain(function(){
     		console.log("1");
     		this.next();
     	});
     	
     	var fn2 = new Chain(function(){
     		console.log("2");
     		this.next();
     	});
     	var fn3 = new Chain(function(){
     		console.log("3");
     	});
     	
     	fn1.addNext(fn2).addNext(fn3);
     	
     	fn1.reuqest();
</script>
</html>

  

以上是关于职责链模式的主要内容,如果未能解决你的问题,请参考以下文章

职责链模式vs状态模式区别

利用职责链模式分解If else

设计模式 行为型模式 -- 职责链模式(JDK源码分析:FilterChain(过滤器))

JAVA设计模式大总结(二十三)--- b站尚硅谷设计模式之 职责链模式 图解 + 代码 整理(超详)

职责链模式

职责链模式分析结构图与基本代码