设计模式
文章平均质量分 72
i胡说
这个作者很懒,什么都没留下…
展开
-
设计模式(12):C++桥接模式
桥接模式将抽象部份与它的实现部份分离,使它们都可以独立地变化。将抽象(Abstraction)与实现(Implementation)分离,使得二者可以独立地变化。原创 2022-01-22 23:21:56 · 432 阅读 · 1 评论 -
设计模式(11):C++状态模式
状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。原创 2022-01-22 15:13:30 · 499 阅读 · 0 评论 -
设计模式(10):C++模板方法模式
模板方法定义一个操作中的算法骨架,而将一些步骤延迟到子类中实现。模板方法使得子类可以再不改变一个算法的结构即可重新定义该算法的某些特定步骤。通过把不变的行为搬移到基类中,去除了子类的重复代码,提供了一个很好的代码复用解决方案。原创 2022-01-20 21:57:20 · 490 阅读 · 0 评论 -
设计模式(9):C++代理模式
代理模式也称为委托模式。作用就是找一个对象来替我们访问某个对象。意图:为其他对象提供一种代理以控制对这个对象的访问。原创 2022-01-16 23:07:29 · 196 阅读 · 0 评论 -
设计模式(8):C++组合模式(Composite)
将对象组合成树形结构以表示“部分-整体”的层次结构。Composite使得用户对单个对象和组合对象的使用具有一致性。转载 2021-11-21 23:09:31 · 256 阅读 · 0 评论 -
设计模式(7):C++工厂+注册
最近项目中需要用到工厂模式,但是普通的工厂模式面临一个问题,每新增一个派生类,都需要在工厂中加一个case分支,这样就会频繁地修改工厂的代码,而且随着派生类越来越多,case分支也逐渐增多,代码越来越臃肿,对于后期的维护也不友好。转载 2021-11-21 22:39:23 · 817 阅读 · 0 评论 -
设计模式(6):C++装饰模式
动态地给一个对象添加一些额外的职责。就增加功能来说,装饰模式比生成子类更为灵活。转载 2021-11-21 22:01:13 · 177 阅读 · 0 评论 -
设计模式(5):C++适配器模式
在GOF的《设计模式:可复用面向对象软件的基础》中是这样说的:将一个类的接口转换成客户希望的另外一个接口。适配器模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。转载 2021-11-20 22:49:07 · 256 阅读 · 0 评论 -
设计模式(4):C++策略模式
定义一系列算法,把它们一个个封装起来,使得它们可以相互替换。策略模式使得算法变化可独立于使用它的用户。原创 2021-11-20 10:57:21 · 425 阅读 · 0 评论 -
设计模式(3):C++观察者模式
大话这本书中的例子不是c++的,关于事件委托的实现我想了个办法。其中有一些问题,比如如何实现事件委托的对象,我第一个想到的是容器存储函数指针,但是成员函数指针貌似不能用啊,然后这几天看effective c++看到了bind,这个自从学了就没用过的技能,算是大致上实现了。转载 2021-11-17 22:43:11 · 138 阅读 · 0 评论 -
设计模式(0):UML类图(Class Diagram)
类图(Class Diagram): 类图是面向对象系统建模中最常用和最重要的图,是定义其它图的基础。类图主要是用来显示系统中的类、接口以及它们之间的静态结构和关系的一种静态模型。转载 2020-08-10 00:02:38 · 3577 阅读 · 1 评论 -
设计模式(1):C++主要设计模式总结
软件设计模式(Design pattern),又称设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。设计模式主要是为了解决某类重复出现的问题而出现的一套成功或有效的解决方案。设计模式提供一种讨论软件设计的公共语言,使得熟练设计者的设计经验可以被初学者和其他设计者掌握。设计模式还为软件重构提供了目标。转载 2021-06-26 15:39:39 · 246 阅读 · 0 评论 -
设计模式(2):C++单例模式详解
本节将阐述面试中的最常用的设计模式(单例模式),从分类,线程安全,不基于C++11标准的角度与基于C++11标准的角度,有哪些解决线程安全的单例模式方案,相信认真看完本篇文章,在以后面试中就不用担忧了。转载 2021-11-06 18:40:55 · 355 阅读 · 0 评论