引
还记得今年大年初一开始写《数据结构和算法》专栏的时候定了个小目标:
不知不觉间已经过去了十个月,我的第一个专栏也算是圆满收官了 。
这次PO一张成都熊猫基地的团子们,开启设计模式这个专栏吧。
目录与概述
犹记得一位身在广州的老前辈在我初入职场时的教诲:“数据结构和算法、设计模式是一个程序员的内功,内功从短期来看往往也是鸡肋。掌握它们、了解它们对于你眼前的CRUD也许没有丝毫帮助,但这些东西却决定了一个程序员的上限。只做CRUD,做了再多年也不过是从初级程序员变成了资深初级程序员,这些内功就摆在那里,谁能吸收的越多,谁就越有可能真正读懂、理解到主流框架的源码。而不是书到用时去背八股,自己成长的越多,也就越能把命运握在自己手里,越能自己做出一些选择,况且这些内功不用则已,一旦你能应用起来便是开悟之时,更是你能力职级进阶之时”。
现在,这位前辈已经基本实现财富自由,能把编程从爱好变为谋求第一桶金的工具,又把它从工具变回了爱好,这种感觉一定很让人振奋吧。
在这个专栏中,我会从设计模式的七原则开始,即:单一职责原则、接口隔离原则、依赖倒转原则、里氏替换原则、开闭原则、迪米特法则、合成复用原则,进而对依赖、泛化、实现、关联、聚合、组合六大关系做拆解,最后逐一讲述单例模式、抽象工厂模式、工厂模式、原型模式、建造者模式、适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式、代理模式、模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式23种设计模式,并尽可能的从优秀的框架(比如spring)中寻找应用相关设计模式的源码。
然而,设计模式博大精深,能完全了解其原理已经是颇有难度了,相信想要灵活运用23种设计模式应该是每一个程序员的梦想。希望自己能在讲述拆解的过程中获得更深的理解和感悟吧。
关注我,共同进步,每周至少一更。——Wayne