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

做网站网页的工作怎么样wordpress主题不一样

做网站网页的工作怎么样,wordpress主题不一样,dw学生个人网页制作视频,网站建设费是责任链模式 顾名思义#xff0c;责任链模式#xff08;Chain of Responsibility Pattern#xff09;为请求创建了一个接收者对象的链。这种模式给予请求的类型#xff0c;对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中#xff0c;通… 责任链模式 顾名思义责任链模式Chain of Responsibility Pattern为请求创建了一个接收者对象的链。这种模式给予请求的类型对请求的发送者和接收者进行解耦。这种类型的设计模式属于行为型模式。 在这种模式中通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求那么它会把相同的请求传给下一个接收者依此类推。 介绍 意图 避免请求发送者与接收者耦合在一起让多个对象都有可能接收请求将这些对象连接成一条链并且沿着这条链传递请求直到有对象处理它为止。 主要解决 职责链上的处理者负责处理请求客户只需要将请求发送到职责链上即可无须关心请求的处理细节和请求的传递所以职责链将请求的发送者和请求的处理者解耦了。 何时使用 在处理消息的时候以过滤很多道。 如何解决 拦截的类都实现统一接口。 关键代码 Handler 里面聚合它自己在 HandlerRequest 里判断是否合适如果没达到条件则向下传递向谁传递之前 set 进去。 应用实例 JS 中的事件冒泡。spring 拦截器。JAVA WEB 中 Apache Tomcat 对 Encoding 的处理Struts2 的拦截器 优点 降低耦合度。它将请求的发送者和接收者解耦。简化了对象。使得对象不需要知道链的结构。增强给对象指派职责的灵活性。通过改变链内的成员或者调动它们的次序允许动态地新增或者删除责任。增加新的请求处理类很方便。 缺点 不能保证请求一定被接收。系统性能将受到一定影响而且在进行代码调试时不太方便可能会造成循环调用。可能不容易观察运行时的特征有碍于除错。 使用场景 有多个对象可以处理同一个请求具体哪个对象处理该请求由运行时刻自动确定。在不明确指定接收者的情况下向多个对象中的一个提交一个请求。可动态指定一组对象处理请求。 注意事项 在 JAVA WEB 中遇到很多应用。 主要涉及到以下几个核心角色 抽象处理者Handler: 定义一个处理请求的接口通常包含一个处理请求的方法如 handleRequest和一个指向下一个处理者的引用后继者。 具体处理者ConcreteHandler: 实现了抽象处理者接口负责处理请求。如果能够处理该请求则直接处理否则将请求传递给下一个处理者。 客户端Client: 创建处理者对象并将它们连接成一条责任链。通常客户端只需要将请求发送给责任链的第一个处理者无需关心请求的具体处理过程。 代码实现 以公司中的OA申请为例有各种申请请假、离职、团建、加班、购买设备等不同申请需要的权限不一样需要审批的人不一样。 定义申请类 /*** 申请*/ public class Petition {/*** 标题*/private String name;/*** 内容*/private String content;private Type type;/*** 申请人*/private String asker;public Petition(String name, String content, String asker, Type type) {this.name name;this.content content;this.asker asker;this.type type;}public String getName() {return name;}public String getContent() {return content;}public Type getType() {return type;}public String getAsker() {return asker;}public enum Type {/*** 请假*/LEAVE,/*** 加班*/OVERTIME,/*** 离职*/OFF_WORK,/*** 团建*/TRAVEL,/*** 购买设备*/BUY_EQUIPMENT,/*** 其他*/OTHER} } 定义抽象职位 /*** 职位*/ public abstract class Position {private Position nextPosition;public Position getNextPosition() {return this.nextPosition;}public Position nextPosition(Position nextPosition) {this.nextPosition nextPosition;return this.nextPosition;}public abstract boolean handle(Petition petition);}定义小组长小组长只能审批类型为其他的申请 /*** 小组长*/ public class TeamLeader extends Position{Overridepublic boolean handle(Petition petition) {if (petition.getType() Petition.Type.OTHER){System.out.println(小组长审批 petition.getName() 通过);return true;}//小组长没有权限提交给上一级审批return getNextPosition().handle(petition);} } 定义经理经理能够审批加班请假团建的申请 /*** 项目经理*/ public class Manager extends Position{Overridepublic boolean handle(Petition petition) {if (petition.getType() Petition.Type.OVERTIME|| petition.getType() Petition.Type.LEAVE|| petition.getType() Petition.Type.TRAVEL){System.out.println(项目经理审批 petition.getName() 通过);return true;}//项目经理没有权限提交给上一级审批return getNextPosition().handle(petition);} }定义总经理能够审批购买设备离职的申请 /*** 总经理*/ public class GeneralManager extends Position{Overridepublic boolean handle(Petition petition) {if (petition.getType() Petition.Type.BUY_EQUIPMENT||petition.getType() Petition.Type.OFF_WORK){System.out.println(总经理经理审批 petition.getName() 通过);return true;}else {System.out.println(总经理经理审批 petition.getName() 不通过);return false;}} }客户端 public class Client {public static void main(String[] args) {Manager manager new Manager();TeamLeader teamLeader new TeamLeader();GeneralManager generalManager new GeneralManager();//小组长上级项目经理项目经理上级总经理teamLeader.nextPosition(manager).nextPosition(generalManager);teamLeader.handle(new Petition(Buy equipment, I need to buy a new computer, Jim, Petition.Type.BUY_EQUIPMENT));teamLeader.handle(new Petition(Leave, I need to leave, Jim, Petition.Type.LEAVE));teamLeader.handle(new Petition(Overtime, I need to work overtime, Jim, Petition.Type.OVERTIME));teamLeader.handle(new Petition(Off work, I need to go off work, Jim, Petition.Type.OFF_WORK));teamLeader.handle(new Petition(Travel, I need to travel, Jim, Petition.Type.TRAVEL));teamLeader.handle(new Petition(Other, I need to do something else, Jim, Petition.Type.OTHER));} }
http://www.hkea.cn/news/14516802/

相关文章:

  • 国外做微课的网站网站建设成都公司哪家好
  • 外贸网站建设经验南通网站怎么推广
  • 小程序开发 网站建设电子政务门户网站建设方案
  • 上饶网站建设seo人员招聘
  • 专业网站建设网站价格网站后台加密
  • 网站建设和后台空间管理关系网站里添加斗鱼直播的视频怎么做
  • 企业网站推广哪个公司好网站怎样优化关键词好
  • 网站运营是什么为什么博客需要wordpress
  • 营销网站制作信ls15227想给公司做个网站
  • 网站建立的意义做vi的图有网站吗
  • 青县建设银行网站哈尔滨网站建设的公司哪家好
  • 茶网站开发方案那个网站专门做二手衣服的
  • wordpress获取当前分类id南通网站推广优化公司
  • 网站建设p2p太原网站建设外包价格
  • 深圳广告网站设计制作河南华盛建设集团网站
  • 网页小游戏在线玩儿重庆seo推广外包
  • 南宁网站设计方法胶南网络推广
  • 1688精品货源网站入口wordpress 调用tag标签
  • 学做网站能赚多少钱实战直播
  • 耐克电子商务网站建设做平面设计的网站
  • 家教网站开发公司南通大型网站建设
  • 上海市网站制作济南腾飞网络网站建设
  • 做网站公司有什么出路it外包企业排名
  • 静态网站开发文章网站添加搜索
  • 网站开发站点的文件夹推广平台排行榜有哪些
  • 郑州营销网站公司地址制作企业网站的新闻显示
  • 制作网站商城网站后台修改不了
  • phpstudy做正式网站邢台网站制作公司
  • 建筑方案的网站南宁手机做网站公司
  • 建网站需要多少钱免费网址申请