现在的位置: 首页 > 综合 > 正文

【设计模式】第一遍浏览

2017年08月06日 ⁄ 综合 ⁄ 共 1586字 ⁄ 字号 评论关闭

《大话设计模式》这本书在我手里已经很久了,终于除去尘埃,开始学习了。首先通过简单的阅读,对整本书的学习的内容,有了一个整体的了解和宏观把控。

     一、什么是设计模式?

    记得在uml最后的时候,也简单提了一下设计模式。老师用了一个下象棋的 例子的导入,我觉得挺形象的。我们学习下象棋的时候,总是先学习象棋知识,然后是规则,下的次数多了,有了经验,就会 借鉴别人的总结自己的经验,研究已有的棋局,反复的模拟。而好的工程师就可以先学习规则(学习算法、数据结构)、然后学习原理,如结构化编程、面向对象的编程,学习经典的设计模式的典型,注意在项目中运用。

    有了上面的介绍,我觉得设计模式就是帮助我们学习的一个个的模板。例如我们教师资格证的考试中,大家小组的合作,通过做一套套的题,大家会总结不同的题目如何作答。最后经过大家的总结,会出来一套套的答题的模板。这些可以说是我们的设计模式。同样,我们做什么事情都要遵循一定的规则,例如:题目一定要分点作答;会的基础上一定要多写(文科),不能留空白;世界观一定要正确,不能反党、不能破坏社会和谐等等。为了使我们的代码的可用性更好,我们也要有一些规则。

 
 
简单来说:设计模式是一套被反复使用、多数人知晓的、经过分类目的、代码设计经验的总结。

   二、为什么要学习设计模式?

一个模式对应了一个的问题,就像不同的考试模板是对应不同的考试试题的作答。所以学习设计模式,就是学习成功经验,避免失误。设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。学习设计模式,根本原因就是为了代码复用,增加可维护性。那么如何实现代码复用呢?面向对象有几个原则,设计模式就是实现了这些原则,从而达到了代码复用、增加可维护性的目的。


   
三、学习设计模式的意义

   这里分享一个程序员对设计模式的理解,我感觉他很好地解答了我的疑惑,也同样能够说明学习设计模式的重要意义。

 “不懂”为什么要把很简单的东西搞得那么复杂。后来随着软件开发经验的增加才开始明白我所看到的“复杂”恰恰就是设计模式的精髓所在,我所理解的“简单”就是一把钥匙开一把锁的模式,目的仅仅是着眼于解决现在的问题,而设计模式的“复杂”就在于它是要构造一个“万能钥匙”,目的是提出一种对所有锁的开锁方案。在真正理解设计模式之前我一直在编写“简单”的代码.
    这个“简单”不是功能的简单,而是设计的简单。简单的设计意味着缺少灵活性,代码很钢硬,只在这个项目里有用,拿到其它的项目中就是垃圾,我将其称之为“一次性代码”。-->要使代码可被反复使用,请用'设计模式'对你的代码进行设计.很多我所认识的程序员在接触到设计模式之后,都有一种相见恨晚的感觉,有人形容学习了设计模式之后感觉自己好像已经脱胎换骨,达到了新的境界,还有人甚至把是否了解设计模式作为程序员划分水平的标准。”
     如何使用:我们也不能陷入模式的陷阱,为了使用模式而去套模式,那样会陷入形式主义。我们在使用模式的时候,一定要注意模式的意图(intent),而不 要过多的去关注模式的实现细节,因为这些实现细节在特定情况下,可能会发生一些改变。不要顽固地认为设计模式一书中的类图或实现代码就代表了模式本身。

   
 四、设计模式主要内容

      整个大话设计模式中,总讲了23个设计模式,6个原则。设计模式中又根据不同的作用,划分为了三类。包括结构型、行为型、创建型。其中利用到很多前边讲到了面向对象的知识和理念。这本书抛弃了简单的理论的说教,通过浅显易懂、生活中的例子来讲解,非常的有趣。值得赞赏的是编码的很多的例子,也都是从生活的例子出发,非常的容易理解。


小结:

    通过一遍阅读,知道了很多的名词,知道了设计模式到底是干嘛的,看了一行行的代码,对代码有点眼熟了。这一遍,对整本书有了一个整体的把控,具体的每个模式的详细的学习还需要接下来的实践。

抱歉!评论已关闭.