![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
23种设计模式
文章平均质量分 52
A+耶
从事UE和unity的数字孪生开发工作,喜欢研究新技术,后面也会慢慢上传一些平时开发的实用插件。
展开
-
建造者模式
Builder 模式要解决的也正是这样的问题:当我们要创建的对象很复杂的时候(通常是由很多其他的对象组合而成),我们要要复杂对象的创建过程和这个对象的表示(展示)分离开来,这样做的好处就是通过一步步的进行复杂对象的构建,由于在每一步的构造过程中可以引入参数,使得经过相同的步骤创建最后得到的对象的展示不一样。Builder 模式的关键是其中的 Director对象并不直接返回对象,而是通过一步步(BuildPartA,BuildPartB,BuildPartC)来一步步进行对象的创建。原创 2024-03-05 14:17:39 · 442 阅读 · 0 评论 -
抽象工厂模式
AbstractFactory 模式和 Factory模式的区别是初学(使用)设计模式时候的一个容易引起困惑的地方。实际上,AbstractFactory模式是为创建一组(有多类)相关或依赖的对象提供创建接口,而 Factory模式是为一类对象提供创建接口或延迟对象的创建到子类中实现。每上架一个国家的苹果我们都要实现一次苹果类,这样就会有成千上万的苹果类需要被创建,AbstractFactory 模式就是用来解决这类问题的:要创建一组相关或者相互依赖的对象。原创 2024-03-05 14:15:44 · 225 阅读 · 0 评论 -
原型模式学习
当我们定义了第一个简历对象 p1 时,如果再需要创建一个对象,直接调用 p1 中的克隆 Clone 方法,然后返回一个新的对象 p2. 如果想要定制化简历 p2 时,只需要在 p2 中修改与 p1 差异的地方就可以了。原型模式实现的是一个Clone 接口,注意是接口,也就是基于多态的 Clone 虚函数。但是,这里有一个很严重的问题:一旦简历内容需要修改,那么所有的简历对象都需要改动。所以,一般在初始化的信息不发生变化的情况下,克隆是最好的办法,这既隐藏了对象创建的细节,又对性能能是大大的提升。原创 2024-03-05 14:14:30 · 120 阅读 · 0 评论 -
Factory模式(工厂模式)
这样我们可以通过声明一个指向基类的指针来指向实际的子类实现,达到了多态的目的。Product 是一类,有一个共同的基类),如果我们要为不同类的类提供一个对象创建的接口,那就要用 AbstractFactory 了。如果为每一个具体的 ConcreteProduct 类的实例化提供一个函数体,那么我们可能不得不在系统中添加了一个方法来处理这个新建的。可以看出,Factory 模式对于对象的创建给予开发人员提供了很好的实现策略,但是Factory 模式仅仅局限于一类类(就是说。使用工厂方法模式的应用。原创 2024-03-05 14:11:47 · 184 阅读 · 0 评论 -
单例模式学习
Singleton 模式是设计模式中最为简单、最为常见、最容易实现,也是最应该熟悉和掌握的模式。Singleton 模式就是一个类只创建一个唯一的对象,即一次创建多次使用。懒汉式:解决了饿汉式内存浪费问题,但是线程不安全的,可以通过互斥量mutex.lock()和mutex.unlock()来解决。饿汉式:还没有使用该单例对象,该单例对象就已经被加载到内存了,在对象过多时会造成内存浪费。3、提供静态对外接口,可以让用户获得单例对象。2、增加静态私有的当前类的指针变量。单例分为懒汉式和饿汉式。原创 2024-03-05 14:09:12 · 112 阅读 · 0 评论