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

网站开发分析福州网站制作托管维护

网站开发分析,福州网站制作托管维护,品牌营销型网站,永久免费建网站目录 1、使用demo演示责任链模式2、传统方案解决oa系统审批3、传统方案解决oa系统审批存在的问题4、职责链模式基本介绍5、职责链模式原理类图6、职责链模式解决oa系统采购审批7、职责链模式的注意事项和细节8、职责链模式的实际使用场景举例 1、使用demo演示责任链模式 学校o… 目录 1、使用demo演示责任链模式2、传统方案解决oa系统审批3、传统方案解决oa系统审批存在的问题4、职责链模式基本介绍5、职责链模式原理类图6、职责链模式解决oa系统采购审批7、职责链模式的注意事项和细节8、职责链模式的实际使用场景举例 1、使用demo演示责任链模式 学校oa系统的采购审批项目需求是 2、传统方案解决oa系统审批 在一个类中对教学器材的价格进行判断然后根据判断调用不同的审批者进行审批 3、传统方案解决oa系统审批存在的问题 客户端这里会使用分支判断来对不用的采购请求进行处理这样就存在如下问题 如果各个级别的人员审批金额发生变化客户端也需要相应变化客户端必须明确知道有多少个审批级别 采购请求和审批人员之间存在强耦合关系不利于代码的扩展和维护 4、职责链模式基本介绍 职责链模式又称为责任链模式每个接收者都包含对另一个接收者的引用如果一个对象不能处理该请求那么它会把相同的请求传给下一个接收者依次类推 5、职责链模式原理类图 对职责链模式的说明 Handler抽象的处理者定义了一个处理请求的方法并且聚合了自身ConcreteHandlerA|B是具体的处理者处理它自己负责的请求可以访问它的后继者如果可以处理当前请求则处理否则将该请求交给下个后继者去处理从而形成一个职责链 6、职责链模式解决oa系统采购审批 1类图分析 2代码实现 // 购买请求 public class PurchaseRequest {//private int type;private float price;private int id;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) {super(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {if (purchaseRequest.getPrice() 5000) {System.out.println(请求编号 id purchaseRequest.getId() 被 this.name 处理);} else {// 如果不能处理则让下一个处理者进行处理approver.processRequest(purchaseRequest);}} }/*** 系主任*/ public class CollegeApprover extends Approver {public CollegeApprover(String name) {super(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {if (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) {super(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {if (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) {super(name);}Overridepublic void processRequest(PurchaseRequest purchaseRequest) {if (purchaseRequest.getPrice() 30000) {System.out.println(请求编号 id purchaseRequest.getId() 被 this.name 处理);} else {// 如果不能处理则让下一个处理者进行处理approver.processRequest(purchaseRequest);}} }public class Client {public static void main(String[] args) {PurchaseRequest purchaseRequest new PurchaseRequest(1, 31000, 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);} }7、职责链模式的注意事项和细节 将请求和处理分开实现解耦提高系统的灵活性性能收到影响特别是在链比较长的时候。因此需要控制链中最大节点数量一般通过在Handler中设置一个 最大节点数量在setNext方法中判断是否已经超过阈值超过则不允许建立改节点由于采取了链的方式所以调试逻辑比较复杂 8、职责链模式的实际使用场景举例
http://www.ihoyoo.com/news/56832.html

相关文章:

  • 做淘客应该知道的网站网站制作模板
  • 佛山新网站制作咨询石家庄网络推广优化
  • 云南建设厅网站房地产开发资质文创产品设计步骤
  • 网站开发最流行的语言功能性质网站有哪些网站
  • 公司网站可以自己做吗如何做游戏推广
  • 主题资源网站建设反思wordpress 多商家插件
  • 抓好网站建设工作我做的网站不知道网站怎么办啊
  • 网站总体设计怎么写自动生成图片的网站
  • otc场外交易网站开发网站建设专业英文
  • 网站站内关键词优化宁波淘宝网站建设
  • 网站可以更换域名吗中唯建设工程有限公司网站
  • 网站建设人员构成wordpress制作小说站教程
  • 甘肃商城网站建设怎么下载河北人社app
  • 网站后台修改内容看不见了51ppt模板网原创ppt模板
  • 陈仓网站建设潍坊品牌网站建设公司
  • 网站设计用什么软件做的北京网站建设问问q778925409霸屏
  • 富阳营销型网站建设wordpress编辑页面如何修改
  • 小企业网站建设设计wordpress 破解后台
  • sql2008做查询网站网站开发成本主要有哪些
  • 网站一般费用做网站会遇到什么问题
  • 沈阳建设网站公司软件界面设计的基本原则
  • 无锡seo网站排名优化创意设计思维
  • 云速网站建设建设免费网站制作
  • 单页营销型网站黄冈网站推广
  • 个人网站免费空间网络策划案
  • 南宁建站免费模板电商运营方案计划书
  • 制作html5网站计划网站搭建
  • 利用wordpress建站开元酒店集团品牌建设
  • 做响应式网站的微博号lamp网站开发
  • 用ps怎样做网站文字logo国外做任务网站有哪些方面