记录C++ 14
2026/9/1 16:19:30 网站建设 项目流程

单列模式

只有一个对象不能在额外创建一个新的对象
实现思路:
1:将构造函数访问权限设置成 private 或者 protected,不允许类的外部创建对象
2:用一个静态成员指针指向创建的对象
3:提供一个静态成员函数,获取这个对象的首地址

懒汉式

在第一次用到类实例的时候才会去实例化,优点是在使用的时候才会分配内存创建对象,缺点是在多线程使用中会出现创建多个对象的问题,线程不安全
当需要释放时添加一个内部类 ,利用静态变量对象释放时会调用析构函数
线程安全问题解决使用互斥锁

结构型代理模式

为其他对象提供一种代理以控制这个对象的访问,当客户不想或不能直接引用另外一个对象,而代理对象可以在客户端和目标对象之间起到中介作用

使用场景

虚拟代理
通过一个消耗资源较少的对象来代表一个消耗资源较少的对象,可以在一定程度上节省系统的运行开销
缓冲代理
为某一个操作的结果提供临时的缓冲存储空间,以便在后续使用中能够共享这些结果,优化系统性能,缩短执行时间
保护代理
可以控制对一个对象的访问权限,为不同用户提供不同级别的使用权限
远程代理
为位于两个不同地址空间对象的访问提供了一种实现机制,可以将一些消耗资源较多的对象和操作移植到更好的计算机上,提高系统的整体运行效率

实现思路

抽象角色
声明真实对象和代理对象的共同接口
代理角色
代理对象角色内部包含有对真实对象的引用,从而可以操作真实对象
同时代理对象提供与真实对象相同的接口以便在任何时刻都能代理真实对象

优点和缺点

优点
1 代理模式能够将调用用于隔离真实访问的对象,在一定程度上降低了系统耦合度
2 代理对象在客户端和目标对象之间起到一个中介的作用,可以起到堆目标对目标的保护
缺点
1 由于在客户端和真实主题之间增加了一个代理对象,所以会造成请求的处理速度变慢
2 实现代理类也需要额外的工作,从而增加了系统系统的实现复杂度

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询