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

做学校网站素材图片素材seo效果分析

做学校网站素材图片素材,seo效果分析,怎么免费注册企业邮箱,阿里云申请域名做网站当一个请求需要在多个对象之间传递,每个对象都可能处理该请求或将其传递给下一个对象。在这种情况下,需要避免将发送者与接收者之间的耦合,以及确定请求的处理方式。此时可使用责任链模式,它的优点有降低耦合度(无需关…

当一个请求需要在多个对象之间传递,每个对象都可能处理该请求或将其传递给下一个对象。在这种情况下,需要避免将发送者与接收者之间的耦合,以及确定请求的处理方式。此时可使用责任链模式,它的优点有降低耦合度(无需关心哪个对象会处理请求),灵活性(可以动态地改变它们之间的顺序和职责),可扩展性(添加新的处理者,而不会影响现有代码),可维护性(处理者之间职责分开,便于维护);责任链模式也有限制,比如可能导致请求无法被处理或者处理链太长而导致性能问题。

一、抽象类方式实现
假定一个权限认证的例子

/*** 成员类*/
@Getter
@ToString
public class Member {private String loginName;private String loginPass;@Setterprivate String roleName;public Member(String loginName, String loginPass) {this.loginName = loginName;this.loginPass = loginPass;}
}/*** 抽象处理者*/
public abstract class Handler {protected Handler handler;public void next(Handler handler) {this.handler = handler;}public abstract void doHandler(Member member);
}/*** 认证处理器*/
public class AuthHandler extends Handler {@Overridepublic void doHandler(Member member) {if (!"管理员".equals(member.getRoleName())) {System.out.println("无操作权限!");return;}System.out.println("操作成功,管理员同志");}
}/*** 登陆处理器*/
public class LoginHandler extends Handler {@Overridepublic void doHandler(Member member) {System.out.println("登陆成功!");member.setRoleName("管理员");handler.doHandler(member);}
}/*** 校验数据处理器*/
public class ValidDataHandler extends Handler {@Overridepublic void doHandler(Member member) {if (StringUtils.isBlank(member.getLoginName()) || StringUtils.isBlank(member.getLoginPass())) {System.out.println("用户名或密码不能为空!");return;}System.out.println("验证通过!");handler.doHandler(member);}
}/*** 业务服务类*/
public class MemberService {public void login(String loginName, String loginPass) {Handler validDateHandler = new ValidDataHandler();Handler loginHandler = new LoginHandler();Handler authHandler = new AuthHandler();validDateHandler.next(loginHandler);loginHandler.next(authHandler);validDateHandler.doHandler(new Member(loginName, loginPass));}}

编写测试用例

    /*** 责任链模式-权限认证测试*/@Testpublic void testPermission() {MemberService memberService = new MemberService();memberService.login("admin", "123456");}

二、与建造者模式相结合

还是权限认证的例子

/*** 抽象处理者(结合建造者模式)*/
public abstract class HandlerUp {protected HandlerUp handler;public void next(HandlerUp handler) {this.handler = handler;}public abstract void doHandler(Member member);public static class Builder {private HandlerUp head;private HandlerUp tail;public Builder addHandler(HandlerUp handler) {if (this.head == null) {this.head = this.tail = handler;return this;}this.tail.next(handler);this.tail = handler;return this;}public HandlerUp build() {return this.head;}}
}/*** 认证处理器*/
public class AuthHandlerUp extends HandlerUp {@Overridepublic void doHandler(Member member) {if (!"管理员".equals(member.getRoleName())) {System.out.println("非管理员,无操作权限!");return;}System.out.println("操作成功,管理员同志");}
}/*** 登陆处理器*/
public class LoginHandlerUp extends HandlerUp {@Overridepublic void doHandler(Member member) {System.out.println("登陆成功!");member.setRoleName("管理员");handler.doHandler(member);}
}/*** 校验数据处理器*/
public class ValidDataHandlerUp extends HandlerUp {@Overridepublic void doHandler(Member member) {if (StringUtils.isBlank(member.getLoginName()) || StringUtils.isBlank(member.getLoginPass())) {System.out.println("用户名或密码不能为空!");return;}System.out.println("用户名和密码校验成功!");handler.doHandler(member);}
}/*** 业务服务类*/
public class MemberServiceUp {public void login(String loginName, String loginPass) {new HandlerUp.Builder().addHandler(new ValidDataHandlerUp()).addHandler(new LoginHandlerUp()).addHandler(new AuthHandlerUp()).build().doHandler(new Member(loginName, loginPass));}}

编写测试用例

    /*** 责任链模式-权限认证(增强版)测试*/@Testpublic void testPermissionUp() {MemberServiceUp memberServiceUp = new MemberServiceUp();memberServiceUp.login("admin", "123456");}

http://www.ds6.com.cn/news/19025.html

相关文章:

  • 做网站从何开始推广赚钱
  • 响应式网站建设资讯网站友链查询接口
  • 漯河哪里做网站seo教程培训班
  • 做网站的每天打电话咋办网络推广推广外包服务
  • 网站上面做测试题站长工具 站长之家
  • 北京手机网站制作多少钱直播网站排名
  • 网站制作技术怎么在百度投放广告
  • 网站的tdk指的是什么软文的目的是什么
  • 做b2b比较好的网站有哪些优化大师在哪里
  • 插画素材网站有哪些新闻热点最新事件
  • 网站开发毕业论文提纲免费模式营销案例
  • 外国人做的购物网站网站推广与优化平台
  • lng企业自建站流量平台排名
  • 保定网站优化招聘上海牛巨微seo
  • 商城网站建设浩森宇特近两年网络营销成功案例
  • 做网站可以申请国家补助吗营销网站建设选择原则
  • 几个网站一个空间 怎么做邮箱关键词排名优化方法
  • 建设银行官方网站 诚聘英才seo公司关键词
  • 大连住房和建设局网站个人网站seo
  • 网站建设套餐有哪些内容南宁网络推广外包
  • 哪些网站百度收录快成都推广系统
  • 广州专业网站建设哪家好nba最新交易汇总
  • 做网赌网站怎么推广拉人免费收录网站
  • 徐州网站建设咨询搜索引擎优化的方式
  • php违章网站开发网站百度收录
  • 开学第一课汉字做网站自媒体发布软件app
  • 山西大同专业网站建设价格互联网营销的方式有哪些
  • 游戏网站策划书网站seo排名优化工具
  • 广州优俊网站制作公司免费建站系统
  • 利用织梦搭网站熊猫关键词工具官网