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

网站免费优化软件企业画册宣传设计

网站免费优化软件,企业画册宣传设计,网络服务商机构域名是什么,wordpress 印象码职责链模式 职责链模式职责链模式解决什么问题?职责链模式实现 职责链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象练成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止 …

职责链模式

  • 职责链模式
  • 职责链模式解决什么问题?
  • 职责链模式实现

职责链模式

使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这个对象练成一条链,并沿着这条链传递该请求,知道有一个对象处理它为止

职责链模式解决什么问题?

如请假请求需要主管、经理、总经理批准

public class Request {private String type;private String content;private int number;public String getType() {return type;}public void setType(String type) {this.type = type;}public String getContent() {return content;}public void setContent(String content) {this.content = content;}public int getNumber() {return number;}public void setNumber(int number) {this.number = number;}
}

创建类处理请求

public class Manager {protected String name;public Manager(String name) {this.name = name;}public void getResult(Request request) {if (name.equals("主管")) {if (request.getNumber() <= 2) {System.out.println(name + "批准" + request.getContent() + "," + request.getType() + request.getNumber() + "天");} else {System.out.println(name + "无权处理");}} else if (name.equals("经理")) {if (request.getNumber() <= 5) {System.out.println(name + "批准" + request.getContent() + "," + request.getType() + request.getNumber() + "天");} else {System.out.println(name + "无权处理");}} else if (name.equals("总经理")) {System.out.println(name + "批准" + request.getContent() + "," + request.getType() + request.getNumber() + "天");}}
}

当提出请求时

Request request = new Request();
request.setContent("家里有事");
request.setType("请假");
request.setNumber(10);Manager manager = new Manager("主管");
manager.getResult(request);
Manager director = new Manager("经理");
director.getResult(request);
Manager generalDirector = new Manager("总经理");
generalDirector.getResult(request);
  • problem1:分支判断过长
  • problem2:当新增新的管理类别时,都要更改类

职责链模式实现

创建管理者类

abstract class Manager {protected String name;protected Manager superior;public Manager(String name) {this.name = name;}public void setSuperior(Manager superior) {this.superior = superior;}public abstract void requestApplications(Request request);
}

创建职责链处理请求

class CommonManager extends Manager {public CommonManager(String name) {super(name);}@Overridepublic void requestApplications(Request request) {if (request.getNumber() <= 2) {System.out.println(name + "批准" + request.getContent() + "," + request.getType() + request.getNumber() + "天");} else {System.out.println(name + "无权处理");if (superior != null) {superior.requestApplications(request);}}}
}class Direct extends Manager {public Direct(String name) {super(name);}@Overridepublic void requestApplications(Request request) {if (request.getNumber() <= 5) {System.out.println(name + "批准" + request.getContent() + "," + request.getType() + request.getNumber() + "天");} else {System.out.println(name + "无权处理");if (superior != null) {superior.requestApplications(request);}}}
}class GeneralDirector extends Manager {public GeneralDirector(String name) {super(name);}@Overridepublic void requestApplications(Request request) {System.out.println(name + "批准" + request.getContent() + "," + request.getType() + request.getNumber() + "天");}
}

传递过程

CommonManager manager = new CommonManager("主管");
Direct director = new Direct("经理");
GeneralDirector generalDirector = new GeneralDirector("总经理");manager.setSuperior(director);
director.setSuperior(generalDirector);Request request = new Request();
request.setContent("家里有事");
request.setType("请假");
request.setNumber(10);manager.requestApplications(request);
http://www.yayakq.cn/news/200816/

相关文章:

  • 有做盆景的网站做网站需要哪些素材
  • 云南网站新备案制实业 东莞网站建设
  • 网站建设公司问答营销案例手机在线ps照片处理
  • 佛山企业模板建站国家单位网站建设要多久
  • 搭建网站程序哪儿有网络推广培训
  • 安徽盛绿建设网站装饰网站建设专家
  • 怎样做旅游网站设计怎样在手机上做动漫视频网站
  • 丹阳网站建设咨询本地网站可以做吗?
  • 做室内装修设计的网站深圳网站建设价钱
  • 桂林住房城乡建设厅网站最新新闻摘抄
  • 汝州市住房和城乡规划建设局网站重庆市建设工程信息网成绩查询
  • 沈阳市工伤网站做实做网站的文案怎么写
  • 怎么可以自己做网站互联网广告公司排名前十
  • 台州 网站建设类似视频教程网站的wordpress主题
  • 优享揭阳网站建设工商局注册公司网站
  • 圣弘建设股份有限公司网站百度制作的wordpress工具栏
  • asp 网站开发 软件公司网站建设费用入什么科目
  • 网站建设与管理教学大纲广州做网站发多少钱
  • 环球资源网站做网站价格表
  • 网站的建设主题运营一个网站要多少钱
  • 江门整站优化十大社交电商平台排名
  • 吉林省建设行业继续教续网站网站建设岗位的任职资格
  • 葫芦岛建设厅网站郑州工装定制厂家哪家好
  • 做淘宝图的素材搜索网站手机网站营销方案
  • 网站推广软文几个绝招做创意ppt网站有哪些
  • 优秀的图片设计网站做后台网站
  • 网站建设哪家go河北营销型网站建设
  • 建设银行招标网站首页做网站的分工
  • 专业建站团队什么公司网站建设比较好
  • 四川做网站公司网站建设一般报价