设计模式责任链模式
责任链模式介绍
概述
责任链模式是一种行为型模式。责任链模式里,很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递,直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求。
上面对于责任链模式的定义不理解没关系,其实每一种设计模式的定义对于初学者来说都比较晦涩难懂,因为字都认识却无法理解其中的含义。必须等学完了,回过头来看才能更加深刻的理解其含义。
使用场景
设计模式的使用场景才是目前关注的重点之一。
小二哥是BAT某个公司的一个资深码农,他的媳妇还有1个星期预产期到了,小二哥想请半个月假期去陪媳妇,但是在小二哥公司,对于假期的批准,不同级别的领导权限是不一样的,比如3天以下的假期,小二哥的直属组长就能批了,对于一个星期的假期,需要走到总监这一层批准。半个月的 假期则需要走到总经理这个级别了。
小二哥请假的情况就非常适合使用责任链模式。事先不知道会由哪层领导批复假期,而各层领导的审批职责就好像铁链一样连接在一起,一个请求沿着这条链一直往上传。
看到这里, 如果还是很模糊,也没关系,talk is cheap show you the code,后面会用代码实现这个场景。