说明:由于本人是一个初学者,所以博客中用到的一些见解、图片、代码或者说明可能引用网络上面的资源,如果涉及到了侵权的问题请大家联系我进行删除。
这一篇博客主要对之前23个设计模式的学习进行一个简单的总结。
一个目标
管理变化,提高复用
学习设计模式的时候并不能像学习算法那样过多的关注具体实现的代码,设计模式的代码对于初学者来说的确是蛮重要的,但是设计模式最重要的是它的思想。
两个手段
分解,抽象
- 分解是一种手段,当我们认识一种复杂的事物的时候,可能会更加倾向于将它分解,或者说是一种分类。
- 抽象是一种思维,当我们可以比较熟练的分解复杂事物的时候,我们也就可以从一类事物中抽象出它们一些共同的特点。
八大原则
- 依赖倒置原则(DIP)
- 开放封闭原则(OCP)
- 单一职责原则(SRP)
- Liskov替换原则(LSP)
- 接口隔离原则(ISP)
- 对象组合优于类继承
- 封装变化点
- 面向接口编程
其实这些原则比具体的模式要更加重要,当我们熟练掌握了这些原则之后,我们就可以比较轻松的理解并且运用设计模式。
重构技法
- 静态–>动态
- 早绑定–>晚绑定
- 继承–>组合
- 编译时依赖–>运行时依赖
- 紧耦合–>松耦合
什么时候不用设计模式
- 代码可读性很差时
- 需求理解还很浅时
- 变化没有显现时
- 不是系统的关键依赖点
- 项目没有复用价值时
- 项目将要发布时
最后给大家推荐一下李建忠老师关于设计模式的课程,讲得真的很好。