博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
设计模式13-职责链模式
阅读量:5030 次
发布时间:2019-06-12

本文共 1544 字,大约阅读时间需要 5 分钟。

职责链模式:使每个对象都机会处理请求,从而避免请求的发送者和接收者之间的耦合,将对象连成一条链,并沿着链传递请求。

 

1 namespace DesignModel.职责链模式 2 { 3     abstract class Handler 4     { 5         protected Handler next; 6         public void SetNext(Handler h) { 7             next = h; 8         } 9         public abstract void Exec(string type);10     }11 12     class ZhuZhang : Handler13     {14         15         public override void Exec(string type)16         {17             if (type == "讲需求")18             {19             }20             else21             {22                 next.Exec(type);23             }24         }25     }26     class JinLi : Handler27     {28         public override void Exec(string type)29         {30             if (type == "请假")31             {32             }33             else {
//type==加薪34 next.Exec(type);35 }36 }37 }38 class LaoBan : Handler39 {40 public override void Exec(string type)41 {42 if (type == "加薪")43 {44 Console.WriteLine("不加");45 }46 else47 {48 next.Exec(type);49 }50 }51 }52 53 }54 55 static void 职责链模式()56 {57 58 Handler zz = new ZhuZhang();59 Handler jl = new JinLi();60 Handler lb = new LaoBan();61 62 zz.SetNext(jl);63 jl.SetNext(lb);64 65 zz.Exec("加薪");66 }
View Code

链的结构由客户端来决定,链对象之间无耦合,意味你可以随时增加减少改变处理的链流程。

转载于:https://www.cnblogs.com/liurui/p/5564396.html

你可能感兴趣的文章
全文检索-Elasticsearch (四) elasticsearch.net 客户端
查看>>
Oracle DBMS_SESSION
查看>>
sublime复制当前行到下一行
查看>>
WPF 3D变换应用
查看>>
luogu4012 深海机器人问题 网络流
查看>>
android 拍照上传照片
查看>>
ArchLinux安装开源VMware Tools
查看>>
系统用户分析模型
查看>>
DB2 锁升级示例1
查看>>
16.RDD实战
查看>>
MainFrame知识小结(20120210)—dfsort/syncsort中的数据类型
查看>>
jsp题库 (一)小测(25/21)
查看>>
D - Flip tile
查看>>
Java连接RabbitMQ之创建连接
查看>>
开户vim编程之--cscope支持
查看>>
python数据类型图解
查看>>
js获取标准北京时间
查看>>
DZ!NT论坛 3.6.711删除用户各种错解决方案
查看>>
C#微信登录-手机网站APP应用
查看>>
HTML5实践 -- iPhone Safari Viewport Scaling Bug
查看>>