java之职责链模式

话说,老王刚换了家公司,毕竟工作好几年了,经过一番面试,进了一家大公司,这个公司吧,在南京还是相当比较大的,公司的班车有那么十几辆来着,刚到公司人生地不熟的,这第一天上班,可是有点不自在,可是没有之前待的老公司舒服,那真是予取予求啊。现在倒好好像又要从新员工开始做起,崩溃之心,怎是一两句话能说的完的。那就先忍着吧。毕竟工资那么高,不要跟钱过不去嘛。时间一分一秒的过去,哇咔咔,终于到了下班的时间,啪的电脑关掉,背上背包回家去,来之前就知道,公司的班车到各个地方的都有,工作也是既方便的,到了去做班车的地方,车一辆一辆的紧挨着。。。。这时候,老王心一急,我擦,哪个是我要做的班车,靠都长一样,看看表,时间紧迫啊。那就从前到后一个一个问喽,第一辆车,你好师傅,这个车到不到XXX,不是你去问后一辆车吧,第二辆车,你好师傅,这个车到不到XXX,不是你去问后一辆车吧,第二辆车。。。。。。终于,这样一个一个的问,紧赶慢赶,终于找到了回家的车。老王,又是一脸的不开心。

言归正传,老王整个找车的过程就是java的一个设计模式的雏形,那就今天要讲的职责链模式(chain of  responsibility),老王并不知道,自己要找车在哪,只是按着车停靠的路线,一个一个的挨着找,总有一个车是的,或者已经开走了,就好比,一个请求过来,只是经过这个一个串的经过总有一个,可以处理掉,而你只要问第一个就可以。

职责链模式:Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it (使多个对象都有机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有对象处理它为止) ,直白的说就是,原来呢一个请求要发生多次,到不同的对象,进行处理,现在就只要发生给第一个对象就可以了

代码设计逻辑图

 

posted @ 2017-10-17 23:41  朱洪昌  阅读(267)  评论(0编辑  收藏  举报