设计模式之 【职责链模式】

职责链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者直接按的耦合关系。将这个对象连城一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。

个人理解 : 就是 一个人找人去请假, 三天之内老师先处理。超过三天需要找教导主任,。假如老师处理不了的话,就会把这个请求给教导主任。 直到有人 把你的请的假同意 为止。

优点:

职责链模式的最主要功能就是:动态组合,请求者和接受者解耦。

请求者和接受者松散耦合:请求者不需要知道接受者,也不需要知道如何处理。每个职责对象只负责自己的职责范围,其他的交给后继者。各个组件间完全解耦。

动态组合职责:职责链模式会把功能分散到单独的职责对象中,然后在使用时动态的组合形成链,从而可以灵活的分配职责对象,也可以灵活的添加改变对象职责。

缺点:

产生很多细粒度的对象:因为功能处理都分散到了单独的职责对象中,每个对象功能单一,要把整个流程处理完,需要很多的职责对象,会产生大量的细粒度职责对象。

不一定能处理:每个职责对象都只负责自己的部分,这样就可以出现某个请求,即使把整个链走完,都没有职责对象处理它。这就需要提供默认处理,并且注意构造链的有效性。

发布了70 篇原创文章 · 获赞 14 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43472073/article/details/104110636
今日推荐