当前位置: 首页 > news >正文

马鞍山网站建设公司中国工业品网

马鞍山网站建设公司,中国工业品网,网站开发的报告,北京最大做网站的公司Unity实现设计模式——责任链模式 责任链模式定义:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。 在职责链模式中&…

Unity实现设计模式——责任链模式

责任链模式定义:将请求的发送和接收解耦,让多个接收对象都有机会处理这个请求。将这些接收对象串成一条链,并沿着这条链传递这个请求,直到链上的某个接收对象能够处理它为止。

在职责链模式中,多个处理器(也就是刚刚定义中说的“接收对象”)依次处理同一个请求。一个请求先经过A处理器处理,然后再把请求传递给B处理器,B处理器处理完后再传递给C处理器,以此类推,形成一个链条。链条上的每个处理器各自承担各自的处理职责,所以叫作职责链模式。
在这里插入图片描述
这里使用管理者、副总裁、总裁、依次采购商品的例子
管理者可以去采购商品,当采购的数量大于某个阈值时管理者不能完成该任务需要上级去完成,当上级也完不成的时候就要向最上级报告处理请求了

1.Approver 管理者的基类

    abstract class Approver{protected Approver successor;public void SetSuccessor(Approver successor){this.successor = successor;}public abstract void ProcessRequest(Purchase purchase);}

2.Director 管理者

    class Director : Approver{public override void ProcessRequest(Purchase purchase){if (purchase.Amount < 10000.0){Debug.Log(this.GetType().Name+" approved request# "+purchase.Number);}else if (successor != null){successor.ProcessRequest(purchase);}}}

3.VicePresident 副总裁

    class VicePresident : Approver{public override void ProcessRequest(Purchase purchase){if (purchase.Amount < 25000.0){Debug.Log(this.GetType().Name + " approved request# " + purchase.Number);}else if (successor != null){successor.ProcessRequest(purchase);}}}

4.President 总裁

    class President : Approver{public override void ProcessRequest(Purchase purchase){if (purchase.Amount < 100000.0){Debug.Log(this.GetType().Name + " approved request# " + purchase.Number);}else{Debug.Log("Request# "+purchase.Number+ "requires an executive meeting!");}}}

5.Purchase 采购的商品

    class Purchase{private int _number;private double _amount;private string _purpose;// Constructorpublic Purchase(int number, double amount, string purpose){this._number = number;this._amount = amount;this._purpose = purpose;}// Gets or sets purchase numberpublic int Number{get { return _number; }set { _number = value; }}// Gets or sets purchase amountpublic double Amount{get { return _amount; }set { _amount = value; }}// Gets or sets purchase purposepublic string Purpose{get { return _purpose; }set { _purpose = value; }}}

6.测试

    public class ChainOfResponsibilityExample1 : MonoBehaviour{void Start ( ){// Setup Chain of ResponsibilityApprover larry = new Director();Approver sam = new VicePresident();Approver tammy = new President();larry.SetSuccessor(sam);sam.SetSuccessor(tammy);// Generate and process purchase requestsPurchase p = new Purchase(2034, 350.00, "Assets");larry.ProcessRequest(p);p = new Purchase(2035, 32590.10, "Project X");larry.ProcessRequest(p);p = new Purchase(2036, 122100.00, "Project Y");larry.ProcessRequest(p);}}

在这里插入图片描述

http://www.yayakq.cn/news/808167/

相关文章:

  • 自己做的网站百度收索不到亚马逊云服务器
  • 网站开发角色分配权限百度微建站
  • 弄一个网站电商设计专业
  • discuz论坛门户网站模板做绒毛鉴定网站
  • 怎么建造自己的网站导航网站 php
  • 网站建设观点知识普及动漫项网站建设项目项目建议书
  • 保亭整站优化广州网络设计
  • wordpress建哪些网站手机端app怎么开发
  • 什么网站发布建设标准wordpress 目录插件
  • 揭阳建网站单位网站建设费如何入账
  • 精品课程网站开发环境榆林做网站电话
  • 外外贸网站推广方案seo优化平台
  • 湘潭网站建设 地址磐石网络小程序开发难吗
  • 网站免费大全建筑施工图纸培训班
  • flash分享网站app推广引流方法
  • 做网站的客户多吗五莲县城乡建设局网站首页
  • 石家庄做网站建设的公司网站源码下载教程
  • 怎么做网站数据库备份如何快速构建一个网站
  • 怎么成立个人网站广州门户网站制作公司
  • 网站运营现状阜沙网站建设
  • 常德德山经开区建设局网站如何开发微信微网站
  • 网站建设价格表沈阳网站的建设
  • 如何用一个域名做多个网站怎么搭建一个网站
  • 扶余手机网站开发在货源网站自己拿样 加盟 做代理 哪个比较好?
  • dedecms 旅游网站模板用手机能创建网站吗
  • 微网站开发技术架构上海市一体化办公平台
  • 长沙专业网站优化定制以下属于免费推广的方式的是
  • 网站建设要那些东西手机做直播官方网站
  • 兰州网站建设方案视频号视频怎么下载
  • 烟台网站建站tp5网站开发逻辑架构