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

怎么用dw做地图网站企业网站建设服务哪家好

怎么用dw做地图网站,企业网站建设服务哪家好,delphi做网站,优质做网站公司一、代理模式#xff08;Proxy#xff09; 1.代理模式的定义 代理模式给某一个对象提供一个代理对象#xff0c;并由代理对象控制对真实对象的访问#xff0c;起到对代理对象已有功能的增强 通俗的来讲代理模式就是我们生活中常见的中介。 2.作用 中介隔离作用#x…一、代理模式Proxy 1.代理模式的定义 代理模式给某一个对象提供一个代理对象并由代理对象控制对真实对象的访问起到对代理对象已有功能的增强 通俗的来讲代理模式就是我们生活中常见的中介。 2.作用 中介隔离作用在某些情况下一个客户类不想或者不能直接引用一个委托对象 而代理类对象可以在客户类和委托对象之间起到中介的作用其特征是代理类和委托类实现相同的接口。 开闭原则增加功能代理类除了是客户类和委托类的中介之外我们还可以通过给代理 类增加额外的功能来扩展委托类的功能这样做我们只需要修改代理类而不需要再修改委托类符合代码设计的开闭原则。 3.代理模式的分类 我们有多种不同的方式来实现代理。如果按照代理创建的时期来进行分类的话可以分为两种 静态代理: 静态代理是由程序员创建或特定工具自动生成源代码在对其编译。在程序员运行之前代理类.class文件就已经被创建了。 动态代理: 动态代理是在程序运行时通过反射机制动态创建的。 动态代理分为: 基于接口的动态代理jdk自带 基于子类的动态代理第三方 二、静态代理 所谓“静态 ”也就是在程序运行前就已经存在代理类的字节码文件代理类和被代理对象的关系在运行前就确定了。 1.定义接口 interface ISinger{public void sing(); } 2.定义被代理类 public class SingerImp implements Isinger{Overridepublic void sing(){Systm.out.println(莫等闲);} } 3.定义代理类 public class SingerProxy implements Isinger{Isinger realsinger;public SingerProxy(Isinger realsinger) {this.realsinger realsinger;}Overridepublic void sing(){Systm.out.println(大家好);realsinger.sing();Systm.out.println(谢谢);} } 4.定义客户端查看执行结果 public class Test {public static void main(String[] args) {//1.创建被代理对象Isinger realsinger new SingerImp();//2.创建代理Isinger proxysinger new SingerProxy(realsinger);proxysinger.sing();} } 输出结果 大家好 莫等闲 谢谢 从上面的代码可以看出静态代理存在被代理类和代理类之间耦合度过高。 三、动态代理 “动态”代理的源码是在程序运行期间由 JVM 根据反射等机制动态的生成所以在运行前并不存在代理类的字节码文件。 1.使用JDk 1.1 定义接口 interface ISinger{public void sing(); } 1.2 定义被代理类 public class ZhaoYiTing implements ISinger{Overridepublic void sing() {System.out.println(易燃易爆炸);} } 1.3 定义客户端查看执行结果 public class test01 {public static void main(String[] args) {//1.创建被代理对象ISinger zhaoYiTing new ZhaoYiTing();//2.创建代理对象ISinger jinjiren (ISinger)Proxy.newProxyInstance(zhaoYiTing.getClass().getClassLoader(), zhaoYiTing.getClass().getInterfaces(), new InvocationHandler() {Overridepublic Object invoke(Object proxy, Method method, Object[] args) throws Throwable {//功能增强System.out.println(自我介绍);Object obj method.invoke(zhaoYiTing, args);return obj;}});jinjiren.sing();} } 输出结果 自我介绍 易燃易爆炸 2.使用第三方CGLIB 2.1 定义接口 interface ISinger{public void sing(); } 2.2 定义被代理类 public class ZhaoYiTing implements ISinger{Overridepublic void sing() {System.out.println(莫等闲);} } 2.3 定义客户端查看执行结果 public class test {public static void main(String[] args) {ISing imp new tenggeerImp();ISing jin (ISing)Enhancer.create(imp.getClass(), imp.getClass().getInterfaces(), new InvocationHandler() {Overridepublic Object invoke(Object o, Method method, Object[] objects) throws Throwable {Object obj method.invoke(imp, objects);return obj;}});jin.sing();} } 输出结果 莫等闲
http://www.hkea.cn/news/14481693/

相关文章:

  • 济南网站建设李尚荣网站推广公司黄页
  • 太原建设厅网站临沂网站制作公司哪家好
  • 基于o2o的旅游网站建设查看注册过的网站
  • 做响应式网站的流程大型网站系统解决方案
  • 网站制作 用户登录系统wordpress电影站开发
  • wordpress网站采集插件网站开发的具体流程
  • 网站如何推广引流wordpress用什么服务器配置
  • 重庆电商网站建设湖北建设网站信息查询中心
  • 苏州网站建设制作网络公司学校响应式网站模板
  • 厦门企业做网站四川建设发布网
  • 简述一个商务网站建设的步骤中通顺昌建设有限公司网站
  • 网站建设技术方案模板在百度怎么建立自己的网站吗
  • 免费域名分发网站夸克搜索引擎
  • 重庆平台网站建设价格帮人家做网站难吗
  • 做美食分享网站源码网站域名怎么选择
  • 顶尖的设计网站开发公司总经理岗位职责
  • 做网站的人会不会拿走我的网站宝安网站建设深圳信科
  • 有做网站网站的么网页版传奇世界什么组合最好
  • 做外汇的网站江阴安泰物流有限公司网站谁做的
  • 网站栏目页排名新房网站建设
  • 营销网站开发isuos网站出现死链怎么办
  • 成都手机网站建设专门做视频点评的网站
  • 开源房产网站源码网站制作论文文献综述
  • 网站建设 6万元响应式网站设计图怎么做
  • 江苏高校品牌专业建设工程网站如何做google推广
  • 旅游网站建设色彩搭配表wordpress去除作者信息
  • 北京cms建站系统怎样做自己可以发布消息的网站
  • 小广告多的网站室内设计平面图怎么画
  • 做国外网站做外贸亚泰国际建设股份有限公司网站
  • 事业单位门户网站建设惠州+网站建设公司