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

上海网站seoseodian基本的网站开发技术

上海网站seoseodian,基本的网站开发技术,免费建站建设网站,做网站域名的成本责任链模式是一种设计模式#xff0c;用于处理请求的解耦。在责任链模式中#xff0c;多个对象都有机会处理请求#xff0c;从而避免了请求发送者和接收者之间的直接依赖关系。每个处理者都可以决定是否处理请求以及将请求传递给下一个处理者。 简介 责任链模式由一条链组…责任链模式是一种设计模式用于处理请求的解耦。在责任链模式中多个对象都有机会处理请求从而避免了请求发送者和接收者之间的直接依赖关系。每个处理者都可以决定是否处理请求以及将请求传递给下一个处理者。 简介 责任链模式由一条链组成每个处理者都有一个对下一个处理者的引用。当请求进入链中时从链的开头开始依次询问每个处理者是否能够处理该请求。如果某个处理者能够处理请求则处理请求并结束链否则将请求传递给下一个处理者。这样请求会在链上依次传递直到有一个处理者能够处理请求或者到达链的末尾。 使用场景 责任链模式因为可以灵活地配置处理者的顺序和数量而不需要修改客户端代码。所以责任链模式在项目实战中用处广泛。 JDK中的异常处理机制就使用了责任链模式。当某个方法抛出异常时首先会在方法内部寻找try-catch块来捕获异常如果没有找到就会将异常向上一层抛出直至找到合适的catch块处理。Spring框架中的拦截器链机制也使用了责任链模式。拦截器链是通过将各个拦截器按照一定的顺序连接起来形成一个链条在请求处理过程中按顺序调用每个拦截器的相应方法来完成一系列操作。 责任链模式还可以用于处理日志记录、用户权限验证等场景。 开发实例 现在我简单用Java代码实现责任链模式帮助大家快速入门理解 定义责任链抽象类 首先需要定义责任链抽象类其作用是定义一个抽象的责任链将处理请求的对象串联起来并且定义了处理请求的方法。 Data public abstract class AbstractHandlerT {protected String name;protected AbstractHandlerT nextHandler;public AbstractHandler(String name){this.name name;}public boolean hasNextHandler(){return nextHandler ! null;}/*** 业务处理方法* param t 传入参数* return*/public abstract T process(T t); }具体业务处理类 业务处理类1 /*** 将传入的数字加2*/ public class AddTwoHandler extends AbstractHandlerInteger{public AddTwoHandler(String name) {super(name);}Overridepublic Integer process(Integer t) {t t 2;if(hasNextHandler()) {return nextHandler.process(t);}return t;} }业务处理类2 /*** 将传入的数字乘3*/ public class MultiThreeHandler extends AbstractHandlerInteger{public MultiThreeHandler(String name) {super(name);}Overridepublic Integer process(Integer t) {t t * 3;if(hasNextHandler()) {return nextHandler.process(t);}return t;} }业务处理类3 /*** 将传入的数字减1*/ public class DecreaseOneHandler extends AbstractHandlerInteger{public DecreaseOneHandler(String name) {super(name);}Overridepublic Integer process(Integer t) {t t - 1;if(hasNextHandler()) {return nextHandler.process(t);}return t;} }代码测试 public class ChainTest {public static void main(String[] args) {AddTwoHandler two new AddTwoHandler(加2);DecreaseOneHandler one new DecreaseOneHandler(减1);MultiThreeHandler three new MultiThreeHandler(乘3);two.nextHandler one;one.nextHandler three;Integer result two.process(5);System.out.println(result);} }实现业务处理是开始值是5开始执行“加2”操作 之后执行“减1”操作在之后执行“乘3”操作最后输出结果18。 在不改变代码的情况下如果修改链式的处理顺序那结果也就完全不一样了这就带来很多可扩展性我们可以很灵活地改变处理者的顺序和添加新的处理者。
http://www.tj-hxxt.cn/news/217536.html

相关文章:

  • 宜宾网站建设多少钱如何开展网站推广
  • 企业网站设计中应注意产品发布功能优化作品集的个人网站怎么做
  • 做视频网站用什么好贵阳网站建设是什么
  • 重庆网站制作服务怎么制作手机软件
  • 海口网站建设专家评价wordpress有广告插件
  • 网站建设作业做一个简单的网站清迈城市建设网站
  • 餐饮店设计哪家好长沙哪里有网站推广优化
  • 山东省建设工程招投标网站企业网站推广效果从哪些方面进行分析
  • 服务网站排名咨询做最好的导航网站
  • 网站禁止右键it运维解决方案
  • 手机网站跳转代码中企动力 网站建设 收费
  • 网站搜索优化官网提供网站建设制作
  • 众美商务公馆做网站网络推广和运营的区别
  • 手机网站设计与规划国人原创wordpress主题排行
  • 深圳社区网站开发公司自己动手做衣服的网站
  • 用路由器建设网站营销策略模板
  • 中国建设银行网站登录不上泰安58同城招聘网找工作招聘信息
  • 网络推广产品新乐做网站优化
  • 做电梯销售从哪些网站获取信息昆明广告设计与制作公司
  • 网站建设名词解析南宁网站推广营销
  • 中国建设银行u盾下载假网站吗深圳商城软件开发公司
  • 哪些网站是做色选机销售的58同城官网
  • 自动采集更新的网站wordpress什么公司做网商网站的
  • 许昌网站建设公司建设银行网站e动终端
  • 本溪化工建设质量监督站网站万网域名查询ip
  • 关于网站建设项目收取费用网站 域名解析错误
  • 网站建设那里好自己可以免费做网站吗
  • 网站设计制作一条龙多少钱如何seo推广
  • 多语言网站是怎么做的奥派网站建设
  • 盘锦企业网站建设富阳建设局网站首页