当前位置:网站首页>【DesignMode】代理模式(proxy pattern)
【DesignMode】代理模式(proxy pattern)
2022-07-07 14:16:00 【weixin_43224306】
基本介绍
代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。
被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象
代理模式有不同的形式, 主要有三种 静态代理、理 动态代理 (JDK 代理、接口代理)和 Cglib 理 代理 (可以在内存动态的创建对象,而不需要实现接口, 他是属于动态代理的范畴) 。
1 代理模式(Proxy)
1.1 代理模式的基本介绍
代理模式:为一个对象提供一个替身,以控制对这个对象的访问。即通过代理对象访问目标对象.这样做的好处是:可以在目标对象实现的基础上,增强额外的功能操作,即扩展目标对象的功能。
被代理的对象可以是远程对象、创建开销大的对象或需要安全控制的对象
代理模式有不同的形式, 主要有三种 静态代理、理 动态代理 (JDK 代理、接口代理)和 Cglib 理 代理 (可以在内存动态的创建对象,而不需要实现接口, 他是属于动态代理的范畴) 。
代理模式示意图
2. 静态代理
2.1 静态代码模式的基本介绍
静态代理在使用时,需要定义接口或者父类,被代理对象(即目标对象)与代理对象一起实现相同的接口或者是继承相同父类
边栏推荐
- Laravel5.1 Routing - routing packets
- Laravel service provider instance tutorial - create a service provider test instance
- Common training data set formats for target tracking
- 121. The best time to buy and sell stocks
- 企业级日志分析系统ELK
- 95.(cesium篇)cesium动态单体化-3D建筑物(楼栋)
- How to query the data of a certain day, a certain month, and a certain year in MySQL
- [C language] question set of X
- 统计学习方法——感知机
- Unity3D_ Class fishing project, control the distance between collision walls to adapt to different models
猜你喜欢
平衡二叉树(AVL)
Pycharm terminal enables virtual environment
记一次项目的迁移过程
Xingruige database was shortlisted as the "typical solution for information technology application and innovation in Fujian Province in 2021"
[Android -- data storage] use SQLite to store data
华东师大团队提出,具有DNA调控电路的卷积神经网络的系统分子实现
The team of East China Normal University proposed the systematic molecular implementation of convolutional neural network with DNA regulation circuit
Eye of depth (VI) -- inverse of matrix (attachment: some ideas of logistic model)
SPI master RX time out interrupt
[C language] question set of X
随机推荐
Talk about the cloud deployment of local projects created by SAP IRPA studio
Xcode Revoke certificate
平衡二叉树(AVL)
Sysom case analysis: where is the missing memory| Dragon lizard Technology
【C 语言】 题集 of Ⅹ
MySQL中, 如何查询某一天, 某一月, 某一年的数据
Is it reliable to open an account on Tongda letter with your mobile phone? Is there any potential safety hazard in such stock speculation
Dotween -- ease function
Step by step monitoring platform ZABBIX
"The" "PIP" "entry cannot be recognized as the name of a cmdlet, function, script file, or runnable program."
Detailed explanation of several ideas for implementing timed tasks in PHP
记录Servlet学习时的一次乱码
Laravel changed the session from file saving to database saving
What is the difference between IP address and physical address
Usage of config in laravel
Three. JS series (2): API structure diagram-2
IP地址和物理地址有什么区别
MySQL数据库基本操作-DQL-基本查询
JS modularization
leetcode 241. Different ways to add parentheses design priority for operational expressions (medium)