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

福田皇岗社区网站建设/百度快速收录教程

福田皇岗社区网站建设,百度快速收录教程,比较大的做网站的公司有哪些,济南网站建设优化首先纠正国人的错误翻译, Responsibility 虽然字典里翻译为职责,然而确是由Response派生出来的词,结合此模式的原意,故此处应该翻译为响应更合适,或者说,垃圾字典里至少也应添加"响应"作为另一中文词. 软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有…

 首先纠正国人的错误翻译, Responsibility 虽然字典里翻译为职责,然而确是由Response派生出来的词,结合此模式的原意,故此处应该翻译为响应更合适,或者说,垃圾字典里至少也应添加"响应"作为另一中文词.


软件领域中的设计模式为开发人员提供了一种使用专家设计经验的有效途径。设计模式中运用了面向对象编程语言的重要特性:封装、继承、多态,真正领悟设计模式的精髓是可能一个漫长的过程,需要大量实践经验的积累。最近看设计模式的书,对于每个模式,用C++写了个小例子,加深一下理解。主要参考《大话设计模式》和《设计模式:可复用面向对象软件的基础》两本书。

       响应链模式:使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。其思想很简单,考虑员工要求加薪。公司的管理者一共有三级,总经理、总监、经理,如果一个员工要求加薪,应该向主管的经理申请,如果加薪的数量在经理的职权内,那么经理可以直接批准,否则将申请上交给总监。总监的处理方式也一样,总经理可以处理所有请求。这就是典型的响应链模式,请求的处理形成了一条链,直到有一个对象处理请求。给出这个例子的UML图。


        代码的实现比较简单,如下所示:


  1. //抽象管理者  
  2. class Manager  
  3. {  
  4. protected:  
  5.     Manager *m_manager;  
  6.     string m_name;  
  7. public:  
  8.     Manager(Manager *manager, string name):m_manager(manager), m_name(name){}  
  9.     virtual void DealWithRequest(string name, int num)  {}  
  10. };  
  11. //经理  
  12. class CommonManager: public Manager  
  13. {  
  14. public:  
  15.     CommonManager(Manager *manager, string name):Manager(manager,name) {}  
  16.     void DealWithRequest(string name, int num)   
  17.     {  
  18.         if(num < 500) //经理职权之内  
  19.         {  
  20.             cout<<"经理"<<m_name<<"批准"<<name<<"加薪"<<num<<"元"<<endl<<endl;  
  21.         }  
  22.         else  
  23.         {  
  24.             cout<<"经理"<<m_name<<"无法处理,交由总监处理"<<endl;  
  25.             m_manager->DealWithRequest(name, num);  
  26.         }  
  27.     }  
  28. };  
  29. //总监  
  30. class Majordomo: public Manager  
  31. {  
  32. public:  
  33.     Majordomo(Manager *manager, string name):Manager(manager,name) {}  
  34.     void DealWithRequest(string name, int num)   
  35.     {  
  36.         if(num < 1000) //总监职权之内  
  37.         {  
  38.             cout<<"总监"<<m_name<<"批准"<<name<<"加薪"<<num<<"元"<<endl<<endl;  
  39.         }  
  40.         else  
  41.         {  
  42.             cout<<"总监"<<m_name<<"无法处理,交由总经理处理"<<endl;  
  43.             m_manager->DealWithRequest(name, num);  
  44.         }  
  45.     }  
  46. };  
  47. //总经理  
  48. class GeneralManager: public Manager  
  49. {  
  50. public:  
  51.     GeneralManager(Manager *manager, string name):Manager(manager,name) {}  
  52.     void DealWithRequest(string name, int num)  //总经理可以处理所有请求  
  53.     {  
  54.         cout<<"总经理"<<m_name<<"批准"<<name<<"加薪"<<num<<"元"<<endl<<endl;  
  55.     }  
  56. };  

         客户调用方式为:


  1. //测试案例  
  2. int main()  
  3. {     
  4.     Manager *general = new GeneralManager(NULL, "A"); //设置上级,总经理没有上级  
  5.     Manager *majordomo = new Majordomo(general, "B"); //设置上级  
  6.     Manager *common = new CommonManager(majordomo, "C"); //设置上级  
  7.     common->DealWithRequest("D",300);   //员工D要求加薪  
  8.     common->DealWithRequest("E", 600);  
  9.     common->DealWithRequest("F", 1000);  
  10.     delete common; delete majordomo; delete general;  
  11.     return 0;  
  12. }  
http://www.lbrq.cn/news/1361845.html

相关文章:

  • 建设一个网站需要哪些方面的开支/百度免费推广方法
  • 网站模版怎么做/青岛网站seo分析
  • 美容美发网站建设方案/app推广方式
  • 如何制作境外网站/域名查询网
  • 一级a做爰精免费网站/百度竞价关键词优化
  • 建设电子商务网站需要什么设备/soe搜索优化
  • 网站内容包括/武汉seo网站优化技巧
  • 郑州建网站msgg/seo网络优化是什么工作
  • 西安网站价格/网站描述和关键词怎么写
  • 中文域名注册管理办法/成都网站seo厂家
  • 扬中会建网站/抖音seo排名软件
  • 朝阳网站制作公司/电脑优化
  • 商城网站设计服务/嘉兴seo
  • 无锡网站开发电话/福州百度seo代理
  • 做影视网站需要多大硬盘/快速整站优化
  • 安徽建设工程造价信息网站/seo关键词优化软件官网
  • 长垣有做网站设计的吗/网店如何引流与推广
  • 网站空间去哪里买的/北京网络营销策划公司
  • wordpress改域名后500/谷歌seo网络公司
  • 唐山网站建设方案报价/广告营销推广方案
  • 建设主题网站步骤/网络营销推广实训报告
  • 制作图片怎么做/提升关键词排名seo软件
  • 做网站加班多吗/seo网站分析报告
  • 重庆手机网站推广报价/企业网站推广
  • 客户网站建设完成后需要什么/深圳知名网络优化公司
  • 建站小程序快速上线/黑帽seo365t技术
  • 蒙自做网站的公司/实时热搜榜
  • 做围棋题网站/semikron
  • 四川南充网站建设/2023年广州疫情最新消息
  • 福州建站价格/成都营销推广公司
  • javacc学习笔记 02、JavaCC 语法描述文件的格式解析
  • sqli-labs:Less-27a关卡详细解析
  • Android工程命令行打包并自动生成签名Apk
  • Spring Boot + ShardingSphere 分库分表实战
  • MySQL学习之MVCC多版本并发控制
  • 第15届蓝桥杯Scratch图形化国赛初/中级组2024年9月7日真题