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

专业做婚庆的网站有哪些沈阳建设工程信息网 等级中项网

专业做婚庆的网站有哪些,沈阳建设工程信息网 等级中项网,wordpress分享到微博,太原跨境电商emsp#xff1b;代理模式是一种应用很广发的结构性设计模式#xff0c;它的设计初衷就是通过引入新的代理对象#xff0c;在客户端和目标对象之间起到中介的作用#xff0c;从而实现控制客户端对目标对象的访问#xff0c;比如增强或者阉割某些能力。 1. 概述 代理模…emsp代理模式是一种应用很广发的结构性设计模式它的设计初衷就是通过引入新的代理对象在客户端和目标对象之间起到中介的作用从而实现控制客户端对目标对象的访问比如增强或者阉割某些能力。 1. 概述 代理模式 给某一个对象提供一个代理并由代理对象控制对原对象的引用代理模式是一种结构性的设计模式。代理模式的结构比较简单核心是代理类。 代理模式的实现需要下面3个角色 抽象接口声明的一个接口保证被代理的对象和代理对象的类都可以实现抽象接口。被代理角色真实的需要被代理的对象也就是真正实现业务逻辑的角色。代理角色代理模式的核心角色代理类内部会对真实的被代理类进行引用同时会增强或者删除某一些功能。 代理模式常见的一般是静态代理和动态代理由于静态代理只能与代理对象实现一对一的代理关系容易造成类的急剧膨胀所以从JDK1.3开始Java提供了对动态代理的支持下面我们先来看下动态代理的代码实现。 2. 代码实现 我们下面通过JDK提供的reflect包的一些类来实现动态代理假设有一个用户的信息user表客户端可以通过用户信息的接口访问到用户的数据我们来实现获取数据后用户手机号脱敏以及日志记录如下是日志服务查询用户手机号的逻辑实现。 抽象接口 public interface UserInfo {/*** 获取用户手机号* param passWord 用户密码* return 用户手机号*/String getUserMobile(String passWord); } 被代理角色 public class LogRecord implements UserInfo {/*** 获取用户手机号* param passWord 用户密码* return 用户手机号*/Overridepublic String getUserMobile(String passWord) {return 13521499999;} }代理角色 public class UserInfoInvocationHandler implements InvocationHandler {private UserInfo userInfo;UserInfoInvocationHandler(UserInfo userInfo) {this.userInfo userInfo;}Overridepublic String invoke(Object proxy, Method method, Object[] args) throws Throwable {String userMobile (String)method.invoke(userInfo, args);if (Objects.nonNull(userMobile)) {// 修改为userMobile userMobile.substring(0, 3) **** userMobile.substring(7, 11);}return userMobile;} }客户端 public class Client {public static void main(String[] args) {UserInfo logRecord new LogRecord();UserInfoInvocationHandler userInfoInvocationHandler new UserInfoInvocationHandler(logRecord);// 获取代理对象UserInfo proxy (UserInfo) Proxy.newProxyInstance(logRecord.getClass().getClassLoader(), new Class[] {UserInfo.class}, userInfoInvocationHandler);String userMobile proxy.getUserMobile(123456);System.out.println(userMobile);} }3. UML类图 下面我们可以根据2中的代码案例看一下类图 4. 使用场景 在真实的业务场景中代理模式无处不在比如我们跨实例的RPC调用借助了远程代理的实现对一些占用系统资源比较多或者加载时间较长的对象可以通过虚拟代理来实现性能的提升。 在很多框架中都大量的使用了代理的概念比如最典型的Spring的面向切面技术AOP正是由于AOP的存在我们使用代理的方式简化了很多比如通过 Aspect就可以实现对目标对象的代理但是原理是一样的包括底层实现也都是借助于动态代理的思想。 5. 总结 代理模式和装饰器模式在代码实现上很类似但是代理模式主要是给真实对象增加一些全新的职责比如权限控制、缓存、日志等等这些增加的职责与实际的业务逻辑实际上属于不同的业务域。而装饰器模式则是通过装饰类给具体的构建类增加一些相似的职责是对原有职责的扩展功能的增强这些职责是属于一个问题域。 而且代理模式和装饰模式的目的也不相同前者是实现对对象的控制访问而后者是为了给对象增加、扩展某些功能。
http://www.hkea.cn/news/14384032/

相关文章:

  • 宜春网站推广优化wordpress python脚本
  • 三五做网站云南文投建设投资有限公司网站
  • 阿里云服务器多个网站wordpress主题c7v5 v2.0
  • 天津市做网站的公司有哪些给公司做企业网站
  • 福建省工程建设信息官方网站微网站 微信网站
  • 营销型网站建设实战》网站开发找哪家
  • 建设工程教育网官方网站海外平台推广
  • 网上做网站怎么防止被骗网站必须备案
  • 用wordpress建站之后如何优化青岛建站程序
  • 优化公司排名seo关键词优化方法
  • 现在自己做网站卖东西行么合肥网站
  • 海纳百川网站建设德兴市建设局网站
  • 湖北seo网站设计seo优化网站模板
  • 制作企业网站要多少钱西安seo代理商
  • 怎么查看网站的ftp网站建设中如何发布信息推广
  • 做网站cnfg北京网站开发需要多少钱
  • 网站后台管理系统栏目位置ppt模板免费的网站推荐
  • 遵义建立公司网站的步骤抖音代运营案例
  • 电商网站建设推广营销型企业网站建设案例
  • 玩具网站建设服务公司闵行手机网站建设
  • 福州网站建设方案开发网站改域名
  • 男女做暖暖不要钱的试看网站html5单页面网站
  • 大型建站公司软件开发公司前十名
  • 租车公司网站 模板怎么做网页链接教程
  • 许昌做网站响应式外贸营销网站
  • 哪个网站教做饭做的好wordpress制作模板教程
  • 重庆网站搜索引擎seo怎么做接口网站
  • 湘潭做网站 定制磐石网络企业网站信息化建设
  • 江苏做网站xlec抖音代运营是什么
  • 建设一个网站app全过程进行网站建设视频教程