设计模式 —— 总结
作者:互联网
一个目标
管理变化,提高复用
两种手段
分解 vs 抽象
八大原则
依赖倒置原则
开放封闭原则
单一指责原则
Liskov替换原则
接口隔离原则
对象组合优于继承
封装变化点
面向接口编程
原则比具体的设计模式更重要,内化原则
重构技法
静态 —> 动态
早绑定 —> 晚绑定
继承 —> 组合
编译时依赖 —> 运行时依赖
紧耦合 —> 松耦合
从封装变化的角度对模式分类
像Builder,Mediator等一些设计模式在平时用的不多,也有些是因为C++在语言特性上的进步使得某些模式的使用性价比不高。
C++对象模型
以上的设计模式最后都殊途同归,如第三种对象模型,都是通过一个指针指向一个多态对象表达灵活性。
关注变化点与稳定点
当软件中所有部分都处于变化之中,就没有设计模式能解决,当软件中所有部分都稳定,也没有必要使用设计模式。当然这两种极端的情况很少会出现,一般的软件的稳定与变化是呈正态分布的,
什么时候不用设计模式
代码可读性很差时
需求理解还很浅时
变化没有显现时
不是系统的关键依赖点
项目没有复用价值时
项目将要发布时
代码可读性是软件最基础的质量保证,模式是在基础工作做好之后才用的。
经验之谈
不要为模式而模式
关注抽象类&接口
理清变化点和稳定点
审视依赖关系
要有Framework和Application的区隔思维
良好的设计是演化的结果
设计模式成长之路
“手中无剑,心中无剑”:见模式而不知
“手中有剑,心中无剑”:可以识别模式,作为应用开发人员使用模式
“手中有剑,心中有剑”:作为框架开发人员为应用设计某些模式
“手中无剑,心中有剑”:忘掉模式,只有原则
标签:总结,依赖,原则,模式,无剑,设计模式,变化 来源: https://www.cnblogs.com/y4247464/p/15524445.html