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

山东省住房建设厅网站安全处网站开发的语言有什么

山东省住房建设厅网站安全处,网站开发的语言有什么,最好的网站设计公司,网站建设注意的问题在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链#xff08;Chain of Responsibility#xff09;模式的#xff1a; 责任链模式是一种对象的行为模式。在责任链模式里#xff0c;很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递#…在阎宏博士的《JAVA与模式》一书中开头是这样描述责任链Chain of Responsibility模式的   责任链模式是一种对象的行为模式。在责任链模式里很多对象由每一个对象对其下家的引用而连接起来形成一条链。请求在这个链上传递直到链上的某一个对象决定处理此请求。发出这个请求的客户端并不知道链上的哪一个对象最终处理这个请求这使得系统可以在不影响客户端的情况下动态地重新组织和分配责任。 在以下条件下可考虑使用Chain of Responsibility1 有多个的对象可以处理一个请求哪个对象处理该请求运行时刻自动确定。2 你想在不明确指定接受者的情况下想过个对象中的一个提交一个请求。3 可处理一个请求的对象集合应该被动态指定。   一个简单的例子: 1 abstract class Handler {2 3 private Handler nextHandler;4 5 public Handler getNextHandler() {6 return nextHandler;7 }8 9 public void setNextHandler(Handler nextHandler) { 10 this.nextHandler nextHandler; 11 } 12 13 public abstract void doHandler(); 14 15 } 16 17 class ConcreteHandler extends Handler { 18 19 Override 20 public void doHandler() { 21 22 if (getNextHandler() ! null) { 23 24 System.out.println(还有责任链); 25 getNextHandler().doHandler(); 26 } else { 27 28 System.out.println(我自己处理 toString()); 29 } 30 31 } 32 }  既然为设计模式,必然有其鲜明代码的主体框架,我们来分析下 首先定义一个抽象的处理角色Handler ,其次是具体实现类ConcreteHandler ,在ConcreteHandler 我们通过getNextHandler()来判断是否还有下一个责任链,如果有,则继续 传递下去,调用getNextHandler().doHandler()来实现。 分析了简单的责任链模式的代码框架之后,我们接下来给代码加点实际的功能,举个很简单的例子,就是报销流程,项目经理部门经理总经理 其中项目经理报销额度不能大于500,则部门经理的报销额度是不大于1000,超过1000则需要总经理审核 1 abstract class ConsumeHandler {2 3 private ConsumeHandler nextHandler;4 5 public ConsumeHandler getNextHandler() {6 return nextHandler;7 }8 9 public void setNextHandler(ConsumeHandler nextHandler) { 10 this.nextHandler nextHandler; 11 } 12 13 /** user申请人 free报销费用 */ 14 public abstract void doHandler(String user, double free); 15 16 } 17 //项目经理 18 class ProjectHandler extends ConsumeHandler { 19 20 Override 21 public void doHandler(String user, double free) { 22 if (free 500) { 23 24 if (user.equals(lwx)) { 25 System.out.println(给予报销: free); 26 } else { 27 System.out.println(报销不通过); 28 } 29 30 } else { 31 if (getNextHandler() ! null) { 32 33 getNextHandler().doHandler(user, free); 34 } 35 } 36 37 } 38 } 39 //部门经理 40 class DeptHandler extends ConsumeHandler { 41 42 Override 43 public void doHandler(String user, double free) { 44 if (free 1000) { 45 46 if (user.equals(zy)) { 47 System.out.println(给予报销: free); 48 } else { 49 System.out.println(报销不通过); 50 } 51 52 } else { 53 if (getNextHandler() ! null) { 54 55 getNextHandler().doHandler(user, free); 56 } 57 } 58 59 } 60 } 61 //总经理 62 class GeneralHandler extends ConsumeHandler { 63 64 Override 65 public void doHandler(String user, double free) { 66 if (free 1000) { 67 68 if (user.equals(lwxzy)) { 69 System.out.println(给予报销: free); 70 } else { 71 System.out.println(报销不通过); 72 } 73 74 } else { 75 if (getNextHandler() ! null) { 76 77 getNextHandler().doHandler(user, free); 78 } 79 } 80 81 } 82 } 测试下 1 public static void main(String[] args) {2 3 /*ConcreteHandler handler1 new ConcreteHandler();4 ConcreteHandler handler2 new ConcreteHandler();5 handler1.setNextHandler(handler2);6 handler1.doHandler();*/7 8 ProjectHandler projectHandler new ProjectHandler();9 DeptHandler deptHandler new DeptHandler(); 10 GeneralHandler generalHandler new GeneralHandler(); 11 projectHandler.setNextHandler(deptHandler); 12 deptHandler.setNextHandler(generalHandler); 13 projectHandler.doHandler(lwx, 450); 14 projectHandler.doHandler(lwx, 600); 15 projectHandler.doHandler(zy, 600); 16 projectHandler.doHandler(zy, 1500); 17 projectHandler.doHandler(lwxzy, 1500); 18 } 执行结果 给予报销:450.0报销不通过给予报销:600.0报销不通过给予报销:1500.0 拓展联想:模拟实现servlet过滤器中字符和登陆过滤器的实现 关于tomcat中责任链的使用:http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html        转载于:https://www.cnblogs.com/draem0507/p/3784130.html
http://www.zqtcl.cn/news/305997/

相关文章:

  • asp评价网站开发文档福州做网站的哪家好
  • 合肥网站建设方案优化写作网站大全
  • 专门提供做ppt小素材的网站网站定位
  • 临沂市建设局兰山区网站wordpress 去除下划线
  • 如何做一张图片的网站关于实验室建设的英文网站
  • 网站建设文本居中代码山东网站推广营销设计
  • 山东桓台建设招投标网站北京建设信息港网站
  • 为什么网站要域名个人养老金制度最新消息
  • 公众号开发是不是网站开发公司网站建设分录
  • 云南省住房建设厅网站代理二级分销系统
  • 四川建设人才培训网站临沂网站制作页面
  • 用vue做网站建设工程合同属于什么合同
  • 赶集的网站怎么做广告投放报价
  • php 家政网站白嫖云服务器
  • 长春网站关键词推广优秀网站建设哪个公司好
  • php实战做网站视频教程站长工具网站测速
  • 当下网站建设常见的网址有哪些
  • 洪雅网站建设事业单位门户网站建设包含内容
  • 外网如何查看局域网建设的网站区块链开发工程师要求
  • 网站首页三张海报做多大怎么做网上直营店网站
  • 网站制作新手教程视频省建设厅网站安全生产标准化
  • 自动建设网站系统阿里云虚拟主机多网站
  • 区块链app排名网站seo其应用
  • 海口网站建设咨询一般网站建设需求有哪些方面
  • 免费网站建设朋友交流模板王网站
  • wordpress不同分类不同广告 文章属于不同分类网站 优化手机版
  • 淮安市建设银行网站首页王也是谁
  • 好用的网站管理系统给wordpress程序提速
  • 网页设计模板的网站网站开发包括哪些
  • 做网站的标准国外html5网站模板