![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++设计模式
文章平均质量分 91
Fu_Lin_
为人朴实正直,有积极进取的心态,努力拼搏。性格沉稳内敛,做事细心踏实,个性坚韧,能吃苦耐劳,对工作有很强的责任感!有很强进取心和团队协作精神,学习能力、适应能力、承受压力能力较强,善于挑战自我。
展开
-
[C++]22种设计模式的C++实现大纲
最近看遍全网,准备整理一套较好上手的设计模式文章,以便后续复习到处翻找,在此记录一下,如有侵权可以联系删除,每天更新一篇,直到更新完### 1. 代码仓库。原创 2023-06-15 17:24:05 · 1355 阅读 · 0 评论 -
C++设计模式之单例模式(Singleton)
单例是一种创建型设计模式,让你能够保证一个类只有一个实例,并提供一个访问该实例的全局节点。保证一个类只有一个实例。为该实例提供一个全局访问节点。为什么会有人想要控制一个类所拥有的实例数量?最常见的原因是控制某些共享资源(例如数据库或文件)的访问权限。它的运作方式是这样的:如果你创建了一个对象,同时过一会儿后你决定再创建一个新对象,此时你会获得之前已创建的对象,而不是一个新对象。注意,普通构造函数无法实现上述行为,因为构造函数的设计决定了它必须总是返回一个新对象。原创 2023-06-15 17:22:31 · 3031 阅读 · 0 评论 -
C++设计模式之原型模式(Prototype)
原型是一种创建型设计模式,使你能够复制已有对象,而又无需使代码依赖它们所属的类。如果你有一个对象,并希望生成与其完全相同的一个复制品,你该如何实现呢?首先,你必须新建一个属于相同类的对象。然后,你必须遍历原始对象的所有成员变量,并将成员变量值复制到新对象中。不错!但有个小问题。并非所有对象都能通过这种方式进行复制,因为有些对象可能拥有私有成员变量,它们在对象本身以外是不可见的。直接复制还有另外一个问题。因为你必须知道对象所属的类才能创建复制品,所以代码必须依赖该类。原创 2023-06-07 09:53:03 · 654 阅读 · 0 评论 -
C++设计模式之生成器模式(Builder)
生成器是一种创建型设计模式,使你能够分步骤创建复杂对象。该模式允许你使用相同的创建 代码生成不同类型和形式的对象。假设有这样一个复杂对象,在对其进行构造时需要对诸多成员变量和嵌套对象进行繁复的初始化工作。这些初始化代码通常深藏于一个包含众多参数且让人基本看不懂的构造函数中;甚至还有更糟糕的情况,那就是这些代码散落在客户端代码的多个位置。如果为每种可能的对象都创建一个子类,这可能导致程序过于复杂:例如, 我们来思考如何创建一个房屋(House)对象。原创 2023-06-06 10:22:28 · 1810 阅读 · 0 评论 -
C++设计模式之抽象工厂模式(Abstract Factory)
抽象工厂是一种创建型设计模式,它能创建一系列相关的对象,而无需指定其具体类。假设你正在开发一款家具商店模拟器。你的代码中包括一些类,用于表示:● 一系列相关产品,例如椅子(Chair)、沙发(Sofa)和咖啡桌(CoffeeTable)● 系列产品的不同变体,例如你可以使用现代(Modern)、维多利亚(Victorian)和装饰风艺术(ArtDeco)等风格生成这些产品你需要设法单独生成每件家具对象,这样才能确保其风格一致。如果顾客收到的家具风格不一样,他们可不会开心。原创 2023-05-22 11:47:20 · 739 阅读 · 0 评论 -
C++设计模式之工厂方法模式(Factory Method)
工厂方法是一种创建型设计模式,其在父类中提供一个创建对象的方法,允许子类决定实例化对象的类型。假设你正在开发一款物流管理应用。最初版本只能处理卡车运输,因此大部分代码都在位于名为“卡车”的类中。一段时间后,这款应用变得极受欢迎。你每天都能收到十几次来自海运公司的请求,希望应用能够支持海上物流功能。《图片》这可是个好消息。但是代码问题该如何处理呢?目前,大部分代码都与 卡车 类相关。在程序中添加 轮船 类需要修改全部代码。原创 2023-05-18 10:51:54 · 628 阅读 · 0 评论