
设计模式
文章平均质量分 67
设计模式的学习
liujjjiyun
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
设计模式-远程代理模式
客户端调动登录,发送用户名和密码,登录函数把我们的用户名和密码通过数据库进行查找,有没有相应的用户名和密码,如果找到了,返回bool值。如果为真,就是登录成功,如果为假,就是登录失败。原创 2025-02-06 11:24:45 · 384 阅读 · 0 评论 -
设计模式-日志系统
首先我们在这里创建了一文件子类型,然后给了一个日志的智能指针,初始化为空,然后调动创建文件,把这个文件对象给智能指针plog,由智能指针去调动写文件。原创 2025-02-03 12:26:54 · 202 阅读 · 0 评论 -
C++的设计模式
所谓的设计模式就是一种套路。原创 2025-02-03 11:55:31 · 136 阅读 · 0 评论 -
设计模式 - 观察者Observer模式
观察者模式又叫做观察者(Observer)监听者(Listener)模式,也叫发布(Publish)订阅(Subscribe)模式,常用于解耦事件的观察和事件最终的处理方式,举个例子说明:例子:基于同一组数据,生成了很多不同的界面来显示,有曲线图显示方式,有圆饼图显示方式,有柱状图显示方式等等…,当底层数据发生改变时,所有基于同一组数据的图像显示都需要修改图像,那么此时有两种实现方式:1、所有图形界面模块都去观察底层数据是否做了改变,如果变化,那么读取数据,修改图像显示。原创 2024-12-30 19:00:49 · 1166 阅读 · 0 评论 -
设计模式 - 适配器模式
买一个转换头(适配器),能够把VGA信号转成HDMI信号,这个叫添加适配器类,:换一个支持HDMI接口的电脑,这个就叫代码重构。电脑 ->投影到 -> 投影仪上。:让不兼容的接口可以在一起工作。原创 2024-12-30 18:53:50 · 199 阅读 · 0 评论 -
设计模式 - 装饰器模式
为了增强现有类的功能,通过实现子类的方式,重写接口,是可以完成功能扩展的,但是代码中有太多的子类添加进来了!装饰器模式 Decorator(结构型模式—类和对象的组合,组合方式)所以我们通过装饰器模式看看效果如何!该设计模式的目的是:负责功能扩展。原创 2024-12-30 18:47:31 · 203 阅读 · 0 评论 -
设计模式 - 代理模式
举个例子:客户 助理Proxy 老板(委托类): 通过代理类,来控制实际对象的。原创 2024-12-30 18:34:04 · 273 阅读 · 0 评论 -
设计模式-抽象工厂
抽象工厂经过上面内容的描述,抽象工厂其实就是解决产品簇的产品类设计的,先看看UML类设计图如下:看上面抽象工厂的UML类设计图,ProductA和ProductB就是一个产品簇,通过下面抽象工厂的代码示例和上面的类设计图,//产品簇手机类型public://模拟产品对象的一个抽象方法protected://产品实体类型定义public:void show() { cout << "获取了一个小米手机:" << _name << endl;原创 2024-12-28 21:20:23 · 297 阅读 · 0 评论 -
设计模式-工厂方法
工厂方法为每一种产品提供相应的实例工厂进行对象创建,更符合实际的面向对象设计,比如说不同厂家的汽车,肯定都有自己的汽车生产工厂,BMW和Audi两种汽车都有自己的工厂在生产。仔细理解上面的工厂方法模式,会发现一个问题,就是每一个实例工厂负责生产一个实例产品,也就是一个产品对应一个工厂,一个工厂对应一个产品,那么小米不仅仅生产手机,还生产耳机,智能手环,智能插座等等相关的小米产品簇,不可能给这每一个产品都创建一个工厂类,那样的话代码中的类就太多了,不好维护,而且也不符合实际情况。原创 2024-12-28 21:16:44 · 262 阅读 · 0 评论 -
设计模式 - 简单工厂
简单工厂(Simple Factory) 不属于标准的OOP设计模式中的一项,在编写大型C++软件的时候,代码里面会出现很多的类,每次创建对象的时候,都需要通过new 类名称的方式来生成对象,这样一来,用户需要记忆很多类的名称,暂且不管记不记得住,这样的设计使得代码很难维护,类名如果做了改变,那么所有使用类名称的地方都需要去修改,耦合性太强,不符合我们软件设计的思想,Simple Factory就是在这样的需求下诞生的。原创 2024-12-28 21:14:07 · 368 阅读 · 0 评论 -
设计模式-单例模式
单例模式指的是,无论怎么获取,永远只能得到该类类型的唯一一个实例对象,那么设计一个单例就必须要满足下面三个条件:1.构造函数私有化,这样用户就不能任意定义该类型的对象了2.定义该类型唯一的对象3.通过一个static静态成员方法返回唯一的对象实例。原创 2024-12-28 21:01:31 · 1066 阅读 · 0 评论 -
设计模式 - 迭代器模式
先介绍一下迭代器模式的含义,迭代器模式Iterator的核心功能,就是提供了一种特定的方法,顺序访问一个容器中的各个元素,既不会暴露容器的内部设计细节(容器底层数据结构),又可以让外部代码透明的访问集合内部的所有元素。上面定义了一个迭代器的抽象基类hasNext接口表示聚合对象(也就是容器)内部是否还有下一个元素,next接口返回下一个元素的值引用,通过这样的一个迭代器实例遍历访问容器的内部元素,不需要知道容器内部的具体实现,对于用户来说,完全是透明的。原创 2024-12-28 21:08:58 · 887 阅读 · 0 评论