
设计模式
文章平均质量分 64
易安__
这个作者很懒,什么都没留下…
展开
-
“声名狼藉”的双重检查锁定
在学习《C++并发编程实战》的时候,作者提到了“声名狼藉”的双重检查锁定,但是对于其中潜在的条件竞争,有点模糊,这里稍微做点笔记。原创 2023-09-27 12:07:06 · 150 阅读 · 0 评论 -
设计模式——单例模式解析及示例
保证一个类仅有一个实例,并提供一个该实例的全局访问点。饿汉模式->在定义类的时候就创建单例对象 没有线程安全问题private: //将构造函数和拷贝构造函数设置为私有//设置一个静态的自己对象public://设置一个静态初始化函数std::cout << "静态实例对象" << std::endl;//定义时 就创建了单例对象//外部通过调用getInstance()获得该单例模式懒汉模式->什么时候使用这个单例对象,什么时候创建 存在线程安全问题。原创 2023-09-15 18:07:21 · 61 阅读 · 0 评论 -
设计模式——工厂模式解析及示例
定义一个用于创建对象的接口,让子类决定实例化哪个类。Factory Method使得一个类的实例化延迟(目的:解耦,手段:虚函数)到子类。假设一个客户需要使用一个产品里的接口,也就是客户需要一个产品的对象的时候,若是正常new的话,就需要依赖一个具体类了(编译时依赖),所以此时我们设计一个工厂,客户使用工厂产生的产品的接口,而不需要当场写出使用哪种具体的产品(动态多态),工厂根据运行时传入的参数来提供产品。原创 2023-09-15 17:46:05 · 60 阅读 · 0 评论 -
设计模式——观察模式解析及示例
定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。使用面向对象的抽象,Observer模式使得我们可以独立地改变目标与观察者,从而使二者之间的依赖关系达致松耦合。目标发送通知时,无需指定观察者,通知(可以携带通知信息作为参数)会自动传播。观察者自己决定是否需要订阅通知,目标对象对此一无所知。Observer模式是基于事件的UI框架中非常常用的设计模式,也是MVC模式的一个重要组成部分。原创 2023-09-15 16:45:14 · 139 阅读 · 0 评论 -
设计模式概述及八大设计原则
面向对象三大机制封装,隐藏内部实现继承,复用现有代码多态,改写对象行为如何解决复杂性分解抽象软件设计的目标 :复用。原创 2023-09-15 15:39:02 · 60 阅读 · 0 评论