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

扬中潘杰安徽网站优化建设

扬中潘杰,安徽网站优化建设,国外 定制网站,邯郸企业网站制作目录 一、背景介绍二、思路方案三、过程1.代理模式简介2.代理模式的类图3.代理模式代码4.代理模式还可以优化的地方5.代理模式的项目实战#xff0c;优化后(只加了泛型方式#xff0c;使用CGLIB的代理) 四、总结五、升华 一、背景介绍 最近在做产品过程中对于日志的统一… 目录 一、背景介绍二、思路方案三、过程1.代理模式简介2.代理模式的类图3.代理模式代码4.代理模式还可以优化的地方5.代理模式的项目实战优化后(只加了泛型方式使用CGLIB的代理) 四、总结五、升华 一、背景介绍 最近在做产品过程中对于日志的统一收集做了深入的研究最终映射到代理模式的运用上了通过对代理模式的再探对代理模式的敬畏又进行了一层升华。 二、思路方案 1.代理模式简介2.代理模式的类图3.代理模式代码4.代理模式还可以优化的地方5.代理模式的项目实战优化后 三、过程 1.代理模式简介 代理模式(Proxy)为其他对象提供一种代理以控制对这个对象的访问 2.代理模式的类图 3.代理模式代码 package com.a7DesignPattern.a2StructuralType.a07Proxy;/*** 功能描述** Authormakang* Date: 2021/5/22 10:02*/ public abstract class Subject {public abstract void Request(); } package com.a7DesignPattern.a2StructuralType.a07Proxy;/*** 功能描述** Authormakang* Date: 2021/5/22 10:03*/ public class RealSubject extends Subject{Overridepublic void Request() {System.out.println(真实对象);} } package com.a7DesignPattern.a2StructuralType.a07Proxy;/*** 功能描述** Authormakang* Date: 2021/5/22 10:04*/ public class Proxy extends Subject{private RealSubject realSubject;Overridepublic void Request() {if(realSubject null){realSubject new RealSubject();}realSubject.Request();} } package com.a7DesignPattern.a2StructuralType.a07Proxy;/*** 功能描述** Authormakang* Date: 2021/5/22 10:06*/ public class Client {public static void main(String[] args) {Subject subject new Proxy();subject.Request();} } 4.代理模式还可以优化的地方 1.通过代理类中使用泛型将被代理对象延迟到运行时定义。2.通过自定义注解或者包扫描的方式将使用端进行一步优化 5.代理模式的项目实战优化后(只加了泛型方式使用CGLIB的代理) package com.b0032AOP例子_CGLIB动态代理.V1基础例子;public class Calimpl{public int add(int num1, int num2) {return num1 num2;}public int sub(int num1, int num2) {return num1 - num2;}public int mul(int num1, int num2) {return num1 * num2;}public int div(int num1, int num2) {return num1 / num2;}} package com.b0032AOP例子_CGLIB动态代理.V1基础例子;import org.springframework.cglib.proxy.Enhancer; import org.springframework.cglib.proxy.MethodInterceptor; import org.springframework.cglib.proxy.MethodProxy;import java.lang.reflect.Method; import java.util.Arrays;public class MyMethodInterceptorT implements MethodInterceptor {public T getBind(Class? object){Enhancer enhancer new Enhancer();enhancer.setSuperclass(object);enhancer.setCallback(new MyMethodInterceptor());return (T)enhancer.create();}Overridepublic Object intercept(Object o, Method method, Object[] objects, MethodProxy methodProxy) throws Throwable {System.out.println(method.getName() 方法的参数是 Arrays.toString(objects));Object result methodProxy.invokeSuper(o,objects);System.out.println(method.getName()方法的结果是result);return result;} } package com.b0032AOP例子_CGLIB动态代理.V1基础例子;public class Client {public static void main(String[] args) {MyMethodInterceptorCalimpl myMethodInterceptor new MyMethodInterceptor();Calimpl calimplProxy myMethodInterceptor.getBind(Calimpl.class);calimplProxy.add(1,1);calimplProxy.sub(2,2);calimplProxy.mul(3,3);calimplProxy.div(4,4);} } 四、总结 1.代理模式的思想通过将行为的抽象在运行时进行动态干预使得复用性、灵活性都做到了极大的提高2.将单纯的代理模式通过和泛型的结合使得灵活性再次提升3.后续还可以通过自定义注解或者包扫描的方式进一步优化使用端 五、升华 当你的认知提升一个等级之后再回头看经历过的知识将会获得不一样的认识
http://www.hkea.cn/news/14581140/

相关文章:

  • 项目管理系统软件开发天津百度搜索排名优化
  • 建设通网站首页网站规划与建设ppt
  • 制作企业网站怎么做天津企业模板建站
  • 企业网站建设多钱免费申请注册网站
  • 网站建设外包注意事项如何使用阿里云建站
  • asp.net c 网站开发同城推广方法
  • 兼容模式网站错位建站之星安装模板失败
  • 做网站的素材和步骤服装做外贸的网站建设
  • 域名和网站建设实训报告微信文章 wordpress
  • 网站推广广告公司做网站算新媒体运营吗
  • 建设手机银行网站wordpress趣味集
  • 郑州房地产网站建设初中毕业想学设计上哪个学校
  • 网站改版对优化的影响网络软文名词解释
  • 电子商务网站的建设视频大数据工程技术
  • 网站模板套用山东专业网站解决方案制作
  • 北京网站建设的价格低安徽省建设工程网站
  • 建立网站流程广告设计图片大全模板
  • 建设企业网站需注意什么上海免费网站建设
  • 假网站是怎么做的百度一下首页
  • 不懂外贸做外贸网站好做吗租车网站制作方案
  • 网站开发与解决技巧google网站收录
  • 湖北地矿建设勘察公司网站网站防盗链设置
  • 上弘科技网站建设深圳建设工程质量协会网站
  • 200做网站三维在线设计网站
  • 极简建站面向对象网站开发
  • 东莞网站建设科技公司免费软件制作网站模板下载软件
  • 营销型网站建设推广织梦网站修改使用教程
  • 现在做一个网站多少钱网络管理系统密码
  • 榆林做网站wordpress国内外贸主题
  • 可以做热图的工具网站计算机作业做网站