headfirst设计模式

      花了一周多一点的时间看完了headfirst的设计模式。看完之后有一种恍然大悟的感觉,仔细想想有觉得自己好像什么也看懂。
      简单说下对这本书的一点感悟吧,headfirst的书比较通俗易懂,之前看了四人帮的设计模式,看一半就有一种痛不欲生的感觉,自己水平有限,看不懂,也就没在勉强自己了。
对于模式其实简单来说,就是一种解决通用问题的通用方法。有哪些问题要解决呢。
       软件工程中,最大的问题也就是在需求的变更,需要不断的更新版本。很多模式就是用来解决这个问题的,如何设计,才能更好的提高代码的可扩展性。比如说迭代器,状态模式,适配器模式等等。
      另外的问题,在于如何让代码思路更清晰,更好的封装代码,比如说门面模式。
      第三个问题就是在于对问题的理解方式,这点解释起来比较困难。比如说,多次提到的针对接口编程而非针对实现编程,将不变的变化得分开封装。其实这是回到一个很原始的问题,好比在说就是一座山,小和尚看到得就是山,老和尚看到就不一样了。设计模式教会我这样去思考代码,要针对接口编程,而非实现。就是说,如果我们晚上要看书?我们该如何解决,好找到能发光的东西。对了,这就是接口,至于你是用台灯还是白炽灯还是其他灯那是具体的实现。而当今世界最赚钱的是接口了。搞硬件都知道,很多硬件公司都是买接口的。接口是什么,就是一个解决问题的方案,一种抽象的思路。比如说,软件是什么,可以给一个规范的定义,然后,某东西是不是软件就是要拿这个规范去衡量。
      当我想到这里的时候,第一次觉得敲代码跟现实的生活,更其他的事情有很多是相同的。这是设计模式让我学会思考的地方。

 

你可能感兴趣的:(设计模式,数据结构,编程,生活)