C++ 有哪些经常用到的设计模式?

2022-07-24 16:47:48 浏览数 (1)

知乎上有一个问题:C 有哪些经常用到的设计模式?设计模式一共有23种至多,哪些才是经常用到的呢?这里Jungle简单总结了下个人在学习和开发过程中经常碰到的一些设计模式及其使用场景。

单例模式:日志系统,资源管理器,线程池,内存池等

工厂模式:对创建对象的封装,符合开闭原则。工厂模式在许多项目中大量使用,因为它将对象的构造过程封装,使创建对象的接口统一且简洁,另一方面符合开闭原则,易于扩展。开源项目NVDLA的compiler中各类node的建立,TensorFlow源码和LLVM中的pass,都有工厂模式的用例。

适配器模式:STL中的容器适配器stack和queue,是对象适配器的绝佳用例。项目开发中也常常使用。

观察者模式:频繁使用,观察者模式建立了一种一对多的联动,一个对象改变时将自动通知其他对象,其他对象将作出反应。这是不是很常见?消息更新、广播机制、消息传递、链式触发(高级啊)……比如Qt信号槽机制,订阅更新

0 人点赞