设计模式笔记

1.设计模式是软件工作人员长期的实验总结出来的。
指导我们如何设计某个类与类之间的关系。

经典的设计模式有23个,每一个解决一类问题,可自行百度

在这我介绍一个
1.单例模式
    某个类有个限定如果只能有一个对象,那么可以用该模式,比如开发板的显示屏类只有一块屏幕 所以lcd只允许创建一个对象

    ostream类和istream类对应标准输入和输出文件,只有一份也只允许创建一个。

实现方法基本如下  

1.普通构造函数私有化。
    --》言外之意,唯一对象在类内创建
    2.把拷贝构造函数删除。
    --》防止唯一对象去初始化其他对象提示错误

具体实现,两种流派/两种方式;
 

    两个步骤相同时不同怎沫创建
    饿汉式:事先创建好唯一的对象,要用的时候可以马上使用。
        唯一对象用static修饰,在类内声明,每个类只有一个。
        构造函数私有化在外面不能直接创建对象,创建的话会报错。


    懒汉式:唯一对象要等到要用时再创建。
        在静态成员函数中创建一个唯一对象,并且只有第一次创建才会创建
        这种方式,并发执行的时候可能还是会创建
        多个对象,所以要做pv操作

总结:

其实是通过一定的方法去将对象的数量限制在一个!
    1.将构造函数私有化,类外没权限的不可以调用构造函数那就无法创建对象,
            那你就别去用友元来创建对象了,既然要用这个就不要去打破他的规则。
    2.将拷贝构造函数delete,这样就不可以用唯一的对象去通过拷贝构造函数
    来创建新对象
    3.移动构造为啥不要delete?
        因为移动构造需要一个将亡的对象给一个对象进行初始化
        但是你的对象创建出来就要一直使用一般不会被销毁,所以
        不需要考虑移动构造函数。
    两种方法将对象创建的条件给扼杀了。

    然后就去想办法创建一个对象。
    1.饿汉式:用static声明一个类的对象在外部定义的时候直接就初始化对象了
    !因为它是类的成员变量所以可以访问私有的构造函数 接下来就可以通过类名
    访问这个静态成员对象了。
    2.懒汉式:在类中弄一个函数通过返回函数中静态对象的指针来进行操控,不需要
    传参了减少了代码的复杂度。需要用但是要加限制因为没有限制的话那就可以通过
    这个函数一直创建对象,与我们的单例模式冲突了。
    这个做法因人而异。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值