设计模式简介
- 专栏的目的
- 什么是设计模式
- 设计模式要学什么
- 软件开发原则
- 主流设计模式
- 学习建议
- 经典面试题
- 资源
专栏的目的
1.理解松耦合的设计思想
2.掌握面向对象设计原则
3.掌握重构技法改善设计
4.掌握GOF核心设计模式
什么是设计模式
每一个模式描述了一个在我们周围不断重复发生的问题以及该问题的解决方案。的核心,这样你就能一次又一次的使用该方案,而不必重复的劳动。
通俗来说:设计模式是我们在软件开发时针对常见问题的通用的,这个方案也是前辈们不断摸索总结出的好的辩证方法,可以理解成为打游戏的攻略。遇到同一类boss时怎么走位
作用
减少烂代码,让项目更好维护。开拓思维,也是软件开发岗位的面试重点
设计模式要学什么
软件开发原则
所有的世界模式基本都是建立在这些原则的基础上进行开发的。这八个原则分别是?
1.单一职责原则
2.开闭原则
3.里氏替换原则。
4.依赖倒置原则
5.接口隔离原则
6. 迪米特法则(最少知道原则)
7.合成聚合复用原则
主流设计模式
一共有23种
尤其是这个单例模式是重点中的重点,它有很多种不同的实现方式,我们都要了解。
学习建议
先理解概念,了解每个设计模式的特点和应用场景,再多加练习,运用到实际项目。
三个阶段的学习。首先是基础学习,本阶段的目标是了解设计模式。它的概念作用,应用场景特点和类和对象的关系。在学习设计模式时,多个实际生活相结合会更好的理解设计模式的含义。
第二阶段就是编码实现。
最后的阶段也就是项目实战。
经典面试题
单例模式有哪些实现方式?有哪些优缺点?请手写其中一种
你用过哪些设计模式,为什么用它?
资源
项目
项目实战 - 鱼皮原创项目教程系列 (opens new window)中的聚合搜索项目、OJ 项目都运用了大量的设计模式,推荐学习
书籍
⭐《图解设计模式》(强烈推荐这本书,正是用 Java 语言实现,图多、有示例代码、有习题和答案,很不错)
《Head First 设计模式》
《大话设计模式》
《设计模式:可复用面向对象软件的基础》(大黑书,有能力的话也可以去读)
视频
尚硅谷图解 Java 设计模式:https://www.bilibili.com/video/BV1G4411c7N4(opens new window)
文档
菜鸟教程:https://www.runoob.com/design-pattern/design-pattern-tutorial.html(opens new window)
图说设计模式:https://design-patterns.readthedocs.io/zh_CN/latest/(opens new window)