读书人

设计方式学习迭代一回顾

发布时间: 2012-11-21 08:23:26 作者: rapoo

设计模式学习迭代一回顾

????? 给自己定的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种思想在不同程度上的应用,确实很多模式的思维方式很巧妙,是值得我们学习的。下面引用别人文章的一个图片。

??
设计方式学习迭代一回顾
???

写道在上图中,设计1、设计2属于良好的设计,他们对六项原则的遵守程度都在合理的范围内;设计3、设计4设计虽然有些不足,但也基本可以接受;设计5则严重不足,对各项原则都没有很好的遵守;而设计6则遵守过渡了,设计5和设计6都是迫切需要重构的设计。

???

??? PS:还有一些思维没有掌握,例如代理。还要做迭代二的学习,书籍“四人帮”的设计圣典。

?

读书人网 >软件开发

热点推荐