设计模式学习迭代一回顾
????? 给自己定的Q1成长,设计模式第一次迭代学习已经看完了。看的书是《head first 设计模式》,关于23种设计模式,这本书不是条条框框的一一介绍,而是按模块归类学习的。因此我学习的也是按归类走的。
???? 我会引用一些我认为正确的图片,来更加清楚地描述我的观点。
???? 如果按喊口号的方式,里面有6个原则,分别是1、职责单一 2、里氏替换 3、依赖倒置 4、接口隔离 5、最少了解 6、开闭原则。
?????其实核心是,“职责单一”是让你写出的东西形成高内聚的组件,这样可以被组合或继承达到复用。“里氏替换”,说明要面向接口,即抽象来编程,这样从抽象组装出来的架构更具有稳定性。“依赖倒置”表示,仍要针对抽象编程,就像
Map<String,String> map1 = new HashMap<String,String>();
Map<String,String> map2 = new LinkedHashMap<String,String>();
?针对 接口Map来编程。“接口隔离”表示让组合方式提升到接口层面,一个方法可扩展的途径既可以向抽象类中添加一个抽象方法,也可以让抽象类实现一个接口,如果一个接口太大,那么组合就不能游刃有余了。“最少了解”是让架构更清晰,让架构更容易变化。“开闭原则”说明我们如果需要添加一个功能时,最好能用拔插式,就像电脑内存扩容,只要插一根内存条,就实现了,太棒了!
?? 23种设计模式都是6种思想在不同程度上的应用,确实很多模式的思维方式很巧妙,是值得我们学习的。下面引用别人文章的一个图片。
??
???
???
??? PS:还有一些思维没有掌握,例如代理。还要做迭代二的学习,书籍“四人帮”的设计圣典。
?