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

注册个网站域名多少钱一年网页搭建系统框图

注册个网站域名多少钱一年,网页搭建系统框图,国际新闻快报,wordpress保存不了责任链模式通常一般用在方法的拦截、监控、统计方面#xff0c;比较典型的就是Spring的AOP拦截。 但写一些小的基础能力框架的时候#xff0c;用AOP比较中#xff0c;所以一般都是自己针对特定的功能写一些定制的责任链工具类#xff0c;不太喜欢总是做一些定制化的东西比较典型的就是Spring的AOP拦截。 但写一些小的基础能力框架的时候用AOP比较中所以一般都是自己针对特定的功能写一些定制的责任链工具类不太喜欢总是做一些定制化的东西想着能不能简单定义一套标准基于标准能够快速实现责任链的能力 1、定义简单的链路控制类 该类是一套标准的控制类主要负责流转链路执行走向 其中Supplier中是目标的执行方法 T 代表接口的标记也就是第二点的实现 public class SampleBaseFilterChainT extends SimpleChainFilterService {/*** 拦截器*/private final ListT functionFilters;/*** 具体的执行方法*/private final SupplierObject supplier;private int index 0;public SampleBaseFilterChain(ListT functionFilters, SupplierObject supplier) {this.functionFilters functionFilters;this.supplier supplier;}// 该方法是为了方便在Spring的IOC容器中直接根据类对象,从容器中获取相应的集合.public SampleBaseFilterChain(ClassT clazz, SupplierObject supplier) {this.functionFilters SpringUtils.getBeansOfType(clazz).values().stream().toList();this.supplier supplier;}public Object doFilter(Object... objects) {if (CollectionUtils.isEmpty(functionFilters) || functionFilters.size() index) {return supplier.get();}return functionFilters.get(index).doFilter(this, objects);}}2、定义接口标准 这部分接口太过于抽象比如你不知道参数具体是啥可能需要针对下层实现才知道。 public interface SimpleChainFilterService {Object doFilter(SampleBaseFilterChain? extends SimpleChainFilterService chain, Object... obj); }基于以上两点基本上确定了控制器和顶层接口的定义该怎么玩呢 Testpublic void doFilter() {ListSimpleChainFilterService chainList new ArrayList();chainList.add((chain, obj) - {System.out.println(A-start- obj[0]);return chain.doFilter(obj);});chainList.add((chain, obj) - {final Object o chain.doFilter(obj);System.out.println(B-end- obj[0]);return o;});chainList.add((chain, obj) - {System.out.println(C-start- obj[1]);final Object o chain.doFilter(obj);System.out.println(C-end- obj[1]);return o;});SampleBaseFilterChainSimpleChainFilterService sampleFilterChain new SampleBaseFilterChain(chainList, () - ok);final Object o sampleFilterChain.doFilter(哈哈, 1);System.out.println(得到结果: o);}打印结果: A-start-哈哈 C-start-1 C-end-1 B-end-哈哈 得到结果:ok3、接口标准优化 对于第二点的接口太过于抽象无法知道接口的具体参数这对后续使用者实现来说会很麻烦。 这个时候,你可以针对特定的业务标准在下沉一层。 比如需要针对登录进行拦截 public interface LoginChain extends SimpleChainFilterService {Overridedefault Object doFilter(SampleBaseFilterChain? extends SimpleChainFilterService chain, Object... obj) {return doFilter(chain, (String) obj[0], (int) obj[1]);}public String doFilter(SampleBaseFilterChain? extends SimpleChainFilterService chain, String username, int id); }使用方式 // 前置拦截 ListLoginChain1 chainList1 new ArrayList(); chainList1.add((chain, username, id) - {System.out.println(login-start- username \t id);return chain.doFilter(username, id).toString(); });// 后置拦截 chainList1.add((chain, username, id) - {final String result chain.doFilter(username, id).toString();System.out.println(login-end- username \t id);return result; });SampleBaseFilterChainLoginChain1 sampleFilterChain new SampleBaseFilterChain(chainList1, () - {System.out.println(ok);return ok; });final Object o sampleFilterChain.doFilter(哈哈, 1); System.out.println(得到结果: o);login-start-哈哈 1 ok login-end-哈哈 1 得到结果:ok基于以上的定义我们只需要编写SimpleChainFilterService实现即可通过使用SampleBaseFilterChain 来触发控制流程的流转就行了不用每套责任链都要重写接口和控制链。 以上为个人实践思考如果你有更好的方式欢迎交流学习~
http://www.hkea.cn/news/14367181/

相关文章:

  • 网站建设诚信服务西安分类信息网站
  • 做网站用什么语言微娱网络小程序代理
  • 做ppt的兼职网站有哪些呼和浩特做网站公司
  • 网站后台源代码更改建设专业网站电话咨询
  • 陕西建设执业中心网站北京装修公司口碑十大排名
  • 天津 网站设计制作公司国外优秀网页设计网站
  • 百度如何注册公司网站网站建设公司哪家
  • discuz视频网站模板怎样修改网站关键词
  • 网站服务器租用多少钱才合理呢长春网站建设q479185700惠
  • 钓鱼网站代做他达拉非片说明书
  • 江西网站开发h5建站免费
  • 深圳哪个招聘网站好具有品牌的做pc端网站
  • 合肥市建设工程造价信息网站xampp做网站
  • 关键词优化公司网站网新企业网站管理系统
  • 河南网站设计做网站第一
  • 网站制作 深圳视频下载网站免费
  • 网站响应时间 标准广告设计公司业务员如何开发客户
  • 网站建设合同印花税低价网站开发
  • 鞍山站cdn能为网站上
  • 怎么设计网站页面制作网页用什么布局
  • 龙港做网页网站制作中国建筑官网超高层
  • 辅助网站建设个人介绍网页设计模板图片
  • 服务网站建设企业wordpress enki
  • 自己做的网站维护一年多少钱网站建设的公司第七页
  • 迁安建设局官方网站redis加速wordpress
  • 建设银行网站用户名更改玄武模板网站制作品牌
  • 官方网站下载cad微信 wordpress
  • 深圳市住房和建设局网站登录专业建站公司主要做什么
  • 松江网站建设平台做爰的网站
  • 做个网站多少钱 百度能查到的企业官网wordpress主题