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

网站开发的关键技术wordpress搜索页面制作

网站开发的关键技术,wordpress搜索页面制作,企业官网如何设计,网站源码安装步骤目录 一、行为型模式 1.1、责任链模式 1.1.1、概述 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 1.1、责任链模式 1.1.1、概述 为了避免请求发送者和多个请求处理者耦合在一起#xff0c;就将所有请求处理者通过前一个对象记住下一个对象的引用的方…目录 一、行为型模式 1.1、责任链模式 1.1.1、概述 1.1.2、案例实现 1.1.3、优缺点 1.1.4、使用场景 一、行为型模式 1.1、责任链模式 1.1.1、概述 为了避免请求发送者和多个请求处理者耦合在一起就将所有请求处理者通过前一个对象记住下一个对象的引用的方式形成一条链当有请求到来时可以将请求沿着这条链传递知道有对象能处理他为止. 例如公司员工请假可以批假的领导有小组组长、部门经理、总经理但是每个领导比准的天数不同那么员工请假时就需要记住每一个领导的能请假的天数十分不方便但是通过责任链模式你就可以直接把假条先交给能处理天数最少的人即可如果小组组长处理不了小组组长因为持有 部门经理 的引用就可以找到他让他处理..... 以此类推直到找到能处理这个假条的领导为止. 责任链模式主要包含以下角色 抽象处理者定义一个处理请求的接口包含抽象处理方法并持有下一个处理者的引用.具体处理者实现抽象处理者的处理方法判断当前处理者能否处理请求如果可以就处理不可以就交给下一个处理者处理.例如上述的小组组长、部门经理、总经理客户类创建处理链并向链头的具体处理者对象提交请求他不关心具体的处理细节和请求的传递过程. 1.1.2、案例实现 实现上述案例. /*** 请假条类*/ public class LeaveRequest {//请假人姓名private String name;//请假天数private int num;//请假原因private String reason;public LeaveRequest(String name, int num, String reason) {this.name name;this.num num;this.reason reason;}public String getName() {return name;}public void setName(String name) {this.name name;}public int getNum() {return num;}public void setNum(int num) {this.num num;}public String getReason() {return reason;}public void setReason(String reason) {this.reason reason;}}/*** 抽象处理者*/ public abstract class Handler {//请假天数protected static final int ONE_DAY 1;protected static final int THREE_DAY 3;protected static final int SEVEN_DAY 7;//各级领导能处理请假天数区间private int numStart;private int numEnd;//领导的领导private Handler nextHandler;/*** 领导处理请假天数区间* param numStart* param numEnd*/public Handler(int numStart, int numEnd) {this.numStart numStart;this.numEnd numEnd;}public void setNextHandler(Handler nextHandler) {this.nextHandler nextHandler;}/*** 提交请假请求*/public final void submit(LeaveRequest request) {if(request.getNum() numEnd) {this.handlerLeave(request);} else if(this.nextHandler ! null) {nextHandler.submit(request);} else {System.out.println(请假天数超过上限);}}protected abstract void handlerLeave(LeaveRequest request);}/*** 具体处理者: 小组组长*/ public class GroupLeader extends Handler {/*** 小组长所能处理的请假天数区间*/public GroupLeader() {super(0, ONE_DAY);}Overrideprotected void handlerLeave(LeaveRequest request) {System.out.println(request.getName() 请假 request.getNum() 天 request.getReason());System.out.println(小组长审批通过);}}/*** 具体处理者: 部门经理*/ public class Manager extends Handler {/*** 经理所能处理的请假天数区间*/public Manager() {super(ONE_DAY, THREE_DAY);}Overrideprotected void handlerLeave(LeaveRequest request) {System.out.println(request.getName() 请假 request.getNum() 天 request.getReason());System.out.println(部门经理审批通过);}}/*** 具体处理者: 总经理*/ public class GeneralManager extends Handler {/*** 经理所能处理的请假天数区间*/public GeneralManager() {super(THREE_DAY, SEVEN_DAY);}Overrideprotected void handlerLeave(LeaveRequest request) {System.out.println(request.getName() 请假 request.getNum() 天 request.getReason());System.out.println(总经理审批通过);}}/*** 客户类*/ public class Client {public static void main(String[] args) {//1.假条LeaveRequest request1 new LeaveRequest(李白, 1, 这几天要出诗集~);LeaveRequest request2 new LeaveRequest(杜甫, 3, 生病了身体不适~);LeaveRequest request3 new LeaveRequest(龙洋静, 6, 着急结婚!);//2.责任链关系GroupLeader groupLeader new GroupLeader();Manager manager new Manager();GeneralManager generalManager new GeneralManager();groupLeader.setNextHandler(manager);manager.setNextHandler(generalManager);//3.提交假条groupLeader.submit(request1);System.out.println();groupLeader.submit(request2);System.out.println();groupLeader.submit(request3);}}执行结果如下 1.1.3、优缺点 优点 解耦合降低了发送请求者和处理请求者的耦合度.满足开闭原则可以根据业务需求新增请求处理类.增强了对象指派责任的灵活性当工作流程发生变化可以动态的改变链内成员或者修改他们的次序也可以动态的新增和删除责任.简化了对象链接一个对象只需要持有下一个后继者的引用不需要保持其他所有处理者的引用避免了众多的 if else 语句.满足单一职责每个类只需要处理自己的工作不能处理就交给下一个对象完成. 缺点 不能保证每一个请求一定被处理因为请求没有明确的接收者因此不能保证他一定被处理该请求可能传到链末也得不到处理. 性能影响如果责任链较长请求的处理可能涉及到多个对象性能会有所损耗. 复杂度责任链的合理性全靠客户端来保证增加了客户端的复杂度. 1.1.4、使用场景 1. 多个对象可以处理同一个请求但具体由哪个对象处理则在运行时动态决定. 2. 请求者不明确要对哪一个对象进行提交申请. 例如像公司职级审批流的设定. 例如用户找回密码需要一步步校验的密保信息.
http://www.pierceye.com/news/665652/

相关文章:

  • 建设银行网银网站激活个人简历模板电子版可填写
  • 肃州区建设局网站宁夏百度seo
  • 关于做电影的网站设计西安网站建设制作 熊掌号
  • idc网站建设怎么自己做一个网页链接
  • 网站开发安全模块方案个人网站搭建软件
  • 重庆建设招标造价信息网站个人网站建设与维护
  • 网站备案用户名忘了怎么办嘉兴做外贸网站的公司
  • 1688网站的特点网站制作器手机版下载
  • 兖州网站开发做一个中英文网站多少钱
  • wordpress怎么做网盘站好看的页面图片
  • 建设网站深圳罗湖安徽合肥做网站
  • 一级a做爰片免费网站下载网站快慢由什么决定
  • 网页设计与网站建设 郑州大学网络购物网站备案
  • 美观网站建设哪家好优化大师最新版下载
  • 外贸品牌网站制作wordpress 微信主题
  • 旅游网站开发需求分析网站的根目录的路径
  • easyUI网站开发docker wordpress mysql
  • dede手机网站模板下载黄冈做网站
  • 诸城网站建设葛小燕现在搜索引擎哪个比百度好用
  • 嘉兴做微网站多少钱注册网页需要多少钱
  • 论坛类网站设计大型网站系统解决方案
  • 网站建设中页面设计广告策划书籍
  • 云南省建设工程投标中心网站网页的制作步骤是什么
  • 保定网站设计概述更换动易网站模板的方法
  • 新手如何注册网站域名做 理财网站有哪些
  • 南宁快速建站模板企业网站的开发与应用
  • 网站运营适合什么样的人做企业宣传及介绍ppt
  • 怎么样网站开源小升初在线做试卷的网站
  • 中国建设银行章丘支行网站网站排版设计欣赏
  • 儿童摄影网站建设专业做网站制作自助建站系统