| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> C++实现代码模式 -> 正文阅读 |
|
[C++知识库]C++实现代码模式 |
1 模式介绍代理模式(Proxy Pattern):给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 2 模式结构(1)Subject(抽象主题角色):声明了真实主题和代理主题的共同接口,这样一来在任何使用真实主题的地方都可以使用代理主题,客户端通常需要针对抽象主题角色进行编程。 3 模式优缺点3.1 优点(1)代理模式能够将客户与真正被调用的对象分离(协调调用者与被调用者),降低了耦合度; (2)客户端可以通过代理与多个目标对象交互,目标对象的修改和扩展客户端并不感知,扩展性和维护性强 (3)各种代理模式: 远程代理:使得客户端可以访问在远程机上的对象,远程机可以具有更好的计算性能与处理速度,可以快速相应并处理客户端请求; 虚拟代理:可以使用一个小对象来代表一个大对象,可以减少系统资源的消耗,对系统进行优化并提高运行速度; 保护代理:可以控制对真实对象的使用权限; 3.2 缺点(1)在客户端和真正目标对象之间增加代理对象,请求速度有可能会变慢; (2)增加代理会使系统复杂度变高; 4 模式应用(1)代理服务器,通过代理服务器访问无法访问的服务器; (2)可以在代理服务器实现负载均衡、数据缓存; 常见的代理模式 (1)远程代理(Remote):为一个位于不同的地址空间的对象提供一个本地的代理对象,这个不同的地址空间可以是同一台主机中,也可以是在另一台主机中; (2)虚拟代理(Virtual):如果需要创建一个资源消耗比较大的对象,先创建一个消耗相对较小的对象来表示,真实对象只有需要时才会被真正创建; (3)保护代理(Protect or Access),控制对一个对象的访问,可以给不同的用户提供不同级别的使用权限。 其他的代理:缓冲代理、防火墙代理、同步化代理。 5 模式实现
参考文献: 【1】设计模式之代理模式(C++实现):设计模式之代理模式(C++实现)_墨1024-CSDN博客 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 7:39:24- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |