首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

代理模式

定义:

为其他对象提供一种代理,以控制对这个对象的访问。代理对象在客户端和目标对象之间起到中介的作用。(结构型)

使用场景:

1.保护目标对象2.增强目标对象

优点:

1.代理模式能将代理对象与真实对象被调用的目标对象分离。2.一定程度上降低了系统的耦合度,扩展性好。3.保护目标对象。4.增强目标对象。

缺点:

1.代理模式会造成系统设计中类的数目的增加。2.在客户端和目标对象增加一个代理对象,会造成请求处理速度变慢3.增加了系统的复杂度。

Coding(模拟数据库的分库分表场景):

实例对象:

接口方法(代理对象接口):

代理对象接口实现

模操作数据库的接口类

模操作数据库的接口实现类:

静态代理实现,具体选择数据库的连接由代理增强实现:

测试

测试结果:

静态代理UML:

静态代理代码耦合性比较强,需要在具体的业务方法中手动调用。

动态代理实现,通过生成代理类的方式执行增强方法,减少代码耦合性:

测试:

测试结果为:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181230G17Q1R00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券