码迷,mamicode.com
首页 > 其他好文 > 详细

设计模式之--静态代理及动态代理模式

时间:2019-10-11 12:50:50      阅读:92      评论:0      收藏:0      [点我收藏+]

标签:图片   生成   引用   log   -o   模式   href   实现类   images   

原文链接:http://www.studyshare.cn/blog/details/1181/0

一、概念

代理模式:为其他对象提供一种代理类用以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用

另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用,代理模式属于23中设计模式中的结构型设计模式。

代理模式可分为静态代理和动态代理。

代理结构如下图:

技术图片
 

例如:客户(客户类)—》代购(代理类)—》海外下单(海外订单类),普通客户无法直接去海外下单,则向代购公司

下单,代购公司去海外购买并提供给客户。此时代购公司就是客户的代理。

java开发工具下载地址及安装教程大全,点这里

更多深度技术文章,在这里

二、静态代理

1、概念

所谓静态代理即由编程人员或者工具生成代理类的源码,再编译代理类,也就是在程序运行前就已经存在代理类的字节码文

件,代理类和委托类的关系在运行前就确定了。

2、案例分析

(1)订单接口

技术图片
 

(2)第三方订单实现类

技术图片
 

(3)代理类

技术图片
 

三、动态代理

1、概念

动态代理是在实现阶段不用关心代理类,而在运行阶段才指定哪一个对象。当需要对某个类实现无侵入性增强其功能的时候,

则使用动态代理,例如mybatis的sql日志打印功能等

2、案例分析

(1)、用户接口

技术图片
 

(2)、接口实现类

技术图片
 

(3)、功能增强实现类

技术图片
 

(4)、测试类

技术图片
 

(5)、打印输出结果

技术图片
 
技术图片
 

原创文章,转载请注明出处。

java开发工具下载地址及安装教程大全,点这里

更多深度技术文章,在这里

设计模式之--静态代理及动态代理模式

标签:图片   生成   引用   log   -o   模式   href   实现类   images   

原文地址:https://www.cnblogs.com/darendu/p/11653348.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!