大学时光总是那么的匆匆,尽管自己是计算机科班的学生,也免不了有些课程因为冲突的原因,而和你失之交臂。当年我喜欢文学,也是为了装逼吧,选修了一门《围城》精读,和室友上了一学期的《围城》拆解,狠狠地感受了一下钱钟书的世界,但也错过了一门我到现在还没彻底掌握的计算机课程--设计模式。
这里并不是说《围城》学不得,只是走上了工作的道路之后,很多小伙伴都说大学的知识学的是基础,很多编程上的东西还得靠工作来积累经验。但是,设计模式这门课,我没去选修,和选修过的好基友一对比,差距太大,甚至在面试的时候吃过不少亏。当面试官问我单例模式都有哪些方式,让我直接手写伪代码的时候,我意识到offer和我已经渐行渐远了。所以,如果再给我一次机会选修课程,我一定要把设计模式作为首选,而不是选择我的装逼模式。
和极客时间的池老师互动了几次,其实设计模式已经安排在他的计划里了,但我还是想在课程出来之前,自己先巩固一把,倘若课程出来了,那学习效率对我来说肯定是事半功倍。现在的数据库和算法课,因为我不太擅长,所以很多时候都没跟上思维,「Android开发高手课」因为我Android了解的多,学习起来就不吃力些,这大概就是军事战略上的不打无准备之战吧。所以,我重新把压箱底的《Head First设计模式》翻出来了,跟着书本一起学习设计模式,学习完设计模式系列,是我近期的小目标。
所以,其实你对设计模式了解多少呢?网上其中一个定义是:设计模式,是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验则总结。我先抛个砖
设计模式原则
- 单一职责原则
- 里氏替换原则
- 接口隔离原则
- 依赖倒置原则
- 迪米特原则
- 开闭原则
设计模式类型
-
创建型
- 单例模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 建造者模式
- 原型模式
-
结构性
- 代理模式
- 适配器模式
- 装饰器模式
- 桥接模式
- 组合模式
- 享元模式
- 外观模式
-
行为型
- 观察者模式
- 模版方法模式
- 命令模式
- 状态模式
- 职责链模式
- 解释器模式
- 中介者模式
- 访问者模式
- 策略模式
- 备忘录模式
- 迭代器模式
讲真,因为我没有系统的学习过设计模式,现在也只是对观察者,单例,适配器,工厂方法模式有使用过。这应该也是很多小伙伴的通病,知道设计模式,就是在实际运用中也有点难实践。没事,我们慢慢来,先跟着书本系统学习设计模式,再进行实战运用。除了《Head First设计模式》之外,我还会结合《大话设计模式》一起,和大家一起进步。
对学习系列有想法的,欢迎联系小编,或者给小编留言,我们可以头脑风暴,将自己的知识体系上一个台阶。