`
ilikeebook
  • 浏览: 6333 次
  • 性别: Icon_minigender_1
  • 来自: 福建
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

哲学气息的元素模式

阅读更多
  我们观察这个世界也许可以有非常多种的方式,但不管这些方式多么繁杂,归纳起来无非就是两个角度:其一是从“宏观”的角度看世界,其二是从“微观”的角度看世界。我们可以将宏观与微观看成是一对矛盾统一体,它们相互依存又相互观待,对一者的研究可以加深对另一者的了解。写到这里,感觉自己在写哲学,俨然有哲学家的风范。开个玩笑啦,哈哈。哲学可以说是一切方法论、一切研究学的鼻祖学科,这本书本身也确实具有哲学的气息,所以我为何就不能有一个哲学一点的开场白呢。

  设计模式自从被GOF四人组提出之后,就成了编程领域的圣经。它其实是编程过程中不同良好实践的一个集合,是编程方法论的一个总结,或者应该说它就是一部用代码演绎的哲学著作。有人会说,既然你将设计模式划入哲学范畴,那它理应该能解决某些实际存在的问题吧?答案是肯定的!GOF四人组对于在软件开发过程中特定场景下反复出现的特定问题,进行了抽丝剥茧的分析与总结,并对它们进行反复验证后,前无古人地提出23种解决方案。真正掌握其精髓后,可以灵活应用,自由演化,让小菜们“妙笔生花”,写出漂亮的代码。所以设计模式自问世以来,引无数代码英雄竟折腰!

  科学告诉我们,如果我们从微观的角度来观察的话,我们可以不断发现更小的组成元素,从分子到原子到中子到夸克,由大而小逐级细化。在程序的世界中,高阶的模式——系统架构模式,糅合了各种设计模式而成,可以说不同的设计模式都是系统架构模式的元素。那么GOF四人组的设计模式是不是就是最基本的元素,在它们之下还有更小的元素吗?有的!Jason McC. Smith博士在完成SPQR的过程中革命性地提出了新的模式,并将此模式命名为“元素模式”。何谓元素模式?元素模式的英文全称是:Elemental Design Patterns,简写成EDP。它是一组基础的程序设计思想,核心要义是一组面向对象的基本概念。它是从根源上去剖析GOF四人组的设计模式,以庖丁解牛的方式让大家一窥设计模式的全貌,其角度之独特让人深为叹服!

  元素模式有两个与众不同的特征:(一)它们以设计模式的文献风格写成,每项EDP都代表一个独立概念,有一个专用名字,有了这些名字,我们就可以针对元素模式进行各种讨论和琢磨,直到彻底理解它们;(二)设计模式描述的是在考察现有软件系统时发现的共通问题的解决方案。EDP同样也是共通问题的解决方案,一旦了解了自己所寻找的问题,就会发现它个无处不在。EDP可以被视为某种构件,它们能像原子一样既可靠又直接地描述其它设计模式。

  作者引领读者逐步向精细化推演,从设计模式三大类别:解决方案、问题、语境,到四种项目:对象、方法、字段、类型,再到去粗取精后的四个象限:递归、集聚、委托、重定向,最后得到四个核心EDP:创建对象、检索、继承、抽象接口。整个分析讲解的过程,有理有据,层次分明,匠心独具。这真是一部非常好的方法论,充满了哲学的气息,难道此书会成为JOLT的获奖图书!
分享到:
评论
1 楼 ilikeebook 2014-09-13  
最后一句话写错了一个字,不是“难道”,是“难怪”。不想在原文改了,上次在修改原文时出现一点问题。而现在已经超过提交试读书评的截止时间,怕修改后出现问题。就在此提示一下读者吧。

相关推荐

Global site tag (gtag.js) - Google Analytics