后端开发
类与对象 标签描述

单例模式: 一个类只实例化一个对象 类的构造函数设置private或者protected 提供一个静态的能获取类对象地址的类指针(用静态类指针指向函数,函数内部获取类对象地址) 线程安全,但不管用不用的上都会先生成对象实例。 饿汉单例模式: 1.1:获取类对象方式问题 1.//静态的类的指针指向getInstence() staticSingleHungryModgetInstence(){ returnobject_; }//调用到getInstence()函数时,返回object_,object_是类指针。 1.2:类对象初始化问题 //初始化-静态的指针SingleH...

2:懒汉单例模式:用到创建对象时才创建对象;线程非安全但可以通过一些方式变成线程安全; 2.1:获取类对象方式问题:跟饿汉式的异同点: 相同之处: 都是单例模式,一个类只实例化一个对象 类成员:都有静态全局函数和静态全局类指针 创建对象方式:都是通过静态全局类指针指向特定的函数,通过这个静态全局函数来创建对象 不同之处: 创建对象的时机: 饿汉式--静态全局指针在main函数之前先new出对象 懒汉式--静态全局指针初始化为nullptr空指针,当main函数中需要创建对象时调用那个静态函数来创建对象 线程安全与否: 饿汉式--线程...

与前几篇常用的的创建型设计模式(单例模式,工厂模式)不同,今天要说的是常用的结构型模式之一:代理模式 在说代理模式之前,回顾一下创建型设计模式,创建型模式它的主要特点是“将对象的创建与使用分离“。在类对象的创建上更加的灵活。 那么结构型模式又有什么不同呢? 结构型模式关注类和对象的组命。继承的概念被用来组合接口和定义组合对象获得新功能的方式。 代理模式为其他对象提供一种代理以控制对这个对象的访问。 简单来说,在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理对象⻆色内部含有对真实对象的引用,从而可以操作真实对象, 同时代理对象...