设计模式
推荐阅读 ohmyfish.net
未来更新会先在ohmyfish.net
更新,等到一定规模会发到优快云
等平台上,如果有修改和补充也会在ohmyfish
上进行。
目标
- 理解松耦合设计思想
- 掌握面向对象设计原则
- 掌握重构技法改善设计
- 掌握GOF核心设计模式
参考资料
- GOF的《设计模式》
- 李建忠的C++设计模式课程 课程笔记来源于李建忠老师的课程
- Cpp-Design-Patterns 代码仓库 代码资料取自这位前辈的仓库
感谢前辈们提供的资料,当前版本主要是认识设计模式,所以并没有太多的创新。未来会在ohmyfish
上根据其他书籍和项目经历进行补充。
前言
在学习设计模式之前我觉得,有必要了解一下设计模式是干什么用的。
我个人认为有以下几点需要牢记的
- 不要滥用设计模式,不要为了使用设计模式而使用设计模式,设计模式是用来解决问题的
- 设计模式可以认为是一些经验总结或者说是一些建议,不是什么非常牛逼的东西,不要认为学了设计模式就高人一等
- 学习设计模式可以减少一些沟通成本,方便我们理解代码,当然有可能让代码逻辑变得复杂一些,你需要自己权衡
- 设计模式应该重点学习解决问题的方法策略,而不是代码
- 设计模式可以算是对编程语言本身的一种弥补,有的新语言可能在被设计时就已经通过语法糖帮你实现了某些设计模式
概览

内容
TIP:不常用一般指在 C++ 情况下,某些设计模式被语言机制直接实现了,其他语言可能就变成很常用的了。当然有可能确实随着时代发展用的少了,或者不再单独拿出来讲。
-
组件协作
-
单一职责
-
对象创建
-
对象性能
-
接口隔离
-
状态变化
-
数据结构
-
行为变化
-
领域问题