李实名的现代生活 之责任链模式
向谁汇报
一、定义
使多个对象都有就会机会处理请求,从而避免了请求的发送者和接受者之间的耦合关系,将这些对象连接成一条链,并沿着这条链传递该请求,直到有对象处理他为止。
二、优点
可以将请求与处理分开,请求者不需要直到谁做最后的处理。
三、缺点
责任链过长时,性能较差。
四、故事继续(向谁汇报)
场景1:
“小乔,BOSS在不在?”曹草如一阵风一样的冲到BOSS的办公室里。
“不在,可能在家睡觉吧?”
“不会吧”曹草一脸无奈:“我打电话他也不接!”
“老板在休息时间是绝对不会开手机的,而且他很讨厌手机!”小乔笑道。
“唉,只能等他了........”
场景2:
“小乔,BOSS在不在?”空明笑嘻嘻的走到小乔身边。
“不在,可能在家睡觉吧?”
“哦,那有麻烦了”空明抓了抓头:“看来我要等他了.....”
“看来也只能这样了”小乔笑道。
“唉,BOSS啊....”空明突然话题一转:“小乔,明晚有空吗?《加勒比海盗4》上映了,我们.....”
“不了,我妈叫我早点回家陪她!”小乔赶紧说:“下次吧!”
“.............”
“BOSS也太懒了,总是不在,他们老来烦我,不行,我得找BOSS说道说道....”小乔心说。
一天:BOSS办公室
“老板,最近您经常不在,曹经理和空总监,小黑和紫龙有很多事要找您。”小乔试探的说。
“哦?那结果呢?”李实名看起来心情不错。
“还能怎么样,回去等您了...”
"那不就没事了!"李实名神经大条的说。
“可是,可是不能总是这样啊,那万一事情紧急怎么办?”小乔不满的说。
李实名哈哈大笑:“当然不行,我这几天在家,这个问题已经在梦里....哦不!在思考中解决了!你看我们这样做:”
先定义一个 处理者的抽象类
然后是具体的处理者
处理者BOSS
处理者 1
处理者 2
接着是请求类
最后是 场景
结果:
我想我们需要在CSDN上打广告!
批准,给你100万!
---李实名
我想我们需要给员工组织一场活动.....
批准,给你50万!
---曹草
我昨天出去跑业务,受伤了,想工费报销
批准,给你1万!
---紫龙
有了这套汇报机制,李实名又可以安心的睡觉了,但是他不知道,一场危机正在接近他.........