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

网站建设管理存在问题网站上传不了照片

网站建设管理存在问题,网站上传不了照片,vi设计包含什么,电话销售做网站推销基本介绍 职责链模式#xff08;Chain of Responsibility Pattern#xff09;为请求创建了一个接收者对象的链。这种模式对请求的发送者和接收者进行解耦。职责链模式 又叫责任链模式#xff0c;通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求。那…基本介绍 职责链模式Chain of Responsibility Pattern为请求创建了一个接收者对象的链。这种模式对请求的发送者和接收者进行解耦。职责链模式 又叫责任链模式通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求。那么它会把相同的请求传给下一个接收者。依次类推。这种类型的设计模式属于行为型模式。 引入需求 采购员采购物品 如果金额小于等于5000由教学主任审批如果金额小于等于10000由院长审批如果金额小于等于30000由副校长审批如果金额超过3000以上由校长审批 思路分析 传统方式接收到一个采购请求后根据采购金额来调用对应的审批人完成审批。 传统方式问题分析 客户端会使用分支判断if else / switch来对不同的采购请求处理。就会产生以下问题 如果各个级别的人员审批金额发生变化在客户端也需要变化。客户端必须明确知道有多少审批级别。不利于代码扩展维护。 职责链模式解决类图 代码如下 public class PurchaseRequest {private int type 0; //请求类型private float price 0.0f; //请求金额private int id 0;//构造器public PurchaseRequest(int type, float price, int id) {this.type type;this.price price;this.id id;}public int getType() {return type;}public float getPrice() {return price;}public int getId() {return id;} }public abstract class Approver {Approver approver; //下一个处理者String name; // 名字public Approver(String name) {this.name name;}//下一个处理者public void setApprover(Approver approver) {this.approver approver;}//处理审批请求的方法得到一个请求, 处理是子类完成因此该方法做成抽象public abstract void processRequest(PurchaseRequest purchaseRequest);} public class DepartmentApprover extends Approver {public DepartmentApprover(String name) {// TODO Auto-generated constructor stubsuper(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {// TODO Auto-generated method stubif(purchaseRequest.getPrice() 5000) {System.out.println( 请求编号 id purchaseRequest.getId() 被 this.name 处理);}else {approver.processRequest(purchaseRequest);}} } public class CollegeApprover extends Approver {public CollegeApprover(String name) {// TODO Auto-generated constructor stubsuper(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {// TODO Auto-generated method stubif(purchaseRequest.getPrice() 5000 purchaseRequest.getPrice() 10000) {System.out.println( 请求编号 id purchaseRequest.getId() 被 this.name 处理);}else {approver.processRequest(purchaseRequest);}} } public class ViceSchoolMasterApprover extends Approver {public ViceSchoolMasterApprover(String name) {// TODO Auto-generated constructor stubsuper(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {// TODO Auto-generated method stubif(purchaseRequest.getPrice() 10000 purchaseRequest.getPrice() 30000) {System.out.println( 请求编号 id purchaseRequest.getId() 被 this.name 处理);}else {approver.processRequest(purchaseRequest);}} } public class SchoolMasterApprover extends Approver {public SchoolMasterApprover(String name) {// TODO Auto-generated constructor stubsuper(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {// TODO Auto-generated method stubif(purchaseRequest.getPrice() 30000) {System.out.println( 请求编号 id purchaseRequest.getId() 被 this.name 处理);}else {approver.processRequest(purchaseRequest);}} }public static void main(String[] args) {// TODO Auto-generated method stub//创建一个请求PurchaseRequest purchaseRequest new PurchaseRequest(1, 100000, 1);//创建相关的审批人DepartmentApprover departmentApprover new DepartmentApprover(张主任);CollegeApprover collegeApprover new CollegeApprover(李院长);ViceSchoolMasterApprover viceSchoolMasterApprover new ViceSchoolMasterApprover(王副校);SchoolMasterApprover schoolMasterApprover new SchoolMasterApprover(佟校长);//需要将各个审批级别的下一个设置好 (处理人构成环形: )departmentApprover.setApprover(collegeApprover);collegeApprover.setApprover(viceSchoolMasterApprover);viceSchoolMasterApprover.setApprover(schoolMasterApprover);schoolMasterApprover.setApprover(departmentApprover);departmentApprover.processRequest(purchaseRequest);} 注意事项和细节 将请求和处理分开实现解耦提高系统的灵活性。简化了对象使对象不需要知道链的结构。性能会收到影响特别是链比较长的时候因此需要控制链中最大节点的数量一般通过Handler中设置一个最大节点数量在setNext()方法中判断是否已经超过与阈值超过则不允许该链建立避免出现超长链无意识的破坏系统性能。调试不方便采用了类似递归的方式调试时逻辑可能比较复杂。 最佳应用场景有多个对象可以处理同一个请求时比如多级请求请假。加薪等审批流程。 java web中Tomcat对Encoding的处理拦截器。
http://www.w-s-a.com/news/46671/

相关文章:

  • 重庆seo建站网站服务器 安全
  • 咸宁做网站的公司桂林网站建设兼职
  • 教做网站网站开发行业分析
  • 忻州网站建设培训友情链接交换形式有哪些
  • 佛山做外贸网站渠道外贸常用网站
  • 文章收录网站网站及新媒体建设办法
  • 招聘网站排行榜2021找建网站公司
  • 网站建设制作宝塔面板活动宣传推广的形式有哪些
  • 掉关键词网站敏捷软件开发流程
  • 微信小程序格泰网站建设新闻采编与制作专业简历
  • 电子商城建设网站海伦网站建设
  • 南充能够建设网站的公司有专门做设计的一个网站
  • 免费域名申请个人网站阿里巴巴运营的工作内容
  • 怎么建自己的手机网站保定电子商务网站建设
  • 系部网站建设中期检查表创建网站的公司
  • 西宁网站建设优化重庆企业的网站建设
  • 贝壳企业网站管理系统徽与章网站建设宗旨
  • 郑州网站模板动漫设计与制作设计课程
  • 在线制作网站的工具岳阳网站设计改版
  • 网站建设需要汇报哪些内容前端开发的工作内容
  • 无锡阿凡达网站建设美团app开发公司
  • 个性化企业网站制作公司深圳高端网站定制公
  • 专业深圳网站定制开发企业网站开发 流程
  • 网站建设推广的软文php网站平台
  • 如何做代刷网站长外贸网站个性设计
  • 合同网站开发 设计 后期维护如何搭建海外网络
  • 提供网站建设服务优化大师哪个好
  • 军队营房基础建设网站哦咪咖网站建设
  • fifa17做任务网站app下载免费安装
  • 网站开发用哪些技术seo是什么意思为什么要做seo