認識設計模式

          數據結構研究的是針對具體問題的算法,設計模式是面向應用開發的一種策略。

          設計模式實際上就是編程方式和習慣,是經驗的總結,這和生活習慣類似,如果擁有好的生活習慣,你就會很健康,在其他人眼里也會很好,而如果生活習慣不好,時間不顧慮,這當然沒什么問題(自我感覺良好),但可能會對自己的健康和其他的方面帶來影響(有時會很大)。
          設計模式也一樣,雖然不使用任何設計模式也可以寫任何的軟件,但是這就相當于沒有好的生活習慣一樣,會給這些系統帶來很大的麻煩,就象一個人的煙隱很大,長期下去,得肺癌的幾率要比不吸煙的人大得多。 而使用設計模式來實現軟件,就相當于擁有好的生活習慣,這樣會使整個軟件系統得到良性的發展。設計模式不是必須的,但擁有它使用生活變得更美好。?



          設計模式后面的道理是軟件的設計原則

          開閉原則 OCP(Open-Closed Principle): 對擴展開放,對修改關閉. 抽象和接口是關鍵.

          里氏代換原則 LSP(Liskov Substitution Principle):? 如果對于每一個類型為T1的對象o1,都有類型為T2的對象o2, 使得以T1定義的所有程序P在所有對象o1都代換為o2時, 程序P的行為沒有變化, 那么類型T2是類型T1的子類型。反過來代換不成立。
          ?
          依賴倒轉原則DIP(Dependence Inversion Principle): 第一種表述是,抽象不應當依賴與細節,細節應當依賴與抽象;第二中表述是,要針對抽象和接口編程,不要針對實現編程。

          接口隔離原則
          ISP(Interface Segregation Principle): 使用多個專門的接口比使用一個單一的總接口要好。?

          合成/聚合復用原則
          CARP(Composite/Aggregate Resue Principle): 在一個新對象里面使用一些已經有的對象,使之成為新對象的一部分;新的對象通過向這些對象委派達到復用已有功能的一部分。這個設計原則的另一種表述是:要盡量使用合成/聚合,而不要使用繼承。

          迪米特法則LoD(Law of Demeter
          ): 又叫做最少知識原則,就是說一個對象應該盡量少的知道另一個對象。它的兩外幾種表述: 只與你直接的朋友通信;不要跟陌生人說話。

          posted on 2009-04-11 01:09 luofeng225 閱讀(209) 評論(0)  編輯  收藏 所屬分類: 設計模式

          <2009年4月>
          2930311234
          567891011
          12131415161718
          19202122232425
          262728293012
          3456789

          導航

          統計

          公告

          我曾經聽到這么一個故事: 一個年輕的程序員問一個老程序員(一個比較牛逼的公司的CTO) 年輕程序員: 你為什么這么牛X., 就好像沒有你不會的。老程序員: 積累的。年輕程序員: 怎么才能積累到您的程度呢。我每天都在積累。但是似乎都沒有感覺到進步。老程序員: 我從20歲開始做到了一件事情,直到今天,而且盡可能地保證不間斷。年輕程序員: 到底是什么? 老程序員: 我每天保證自己有2個小時在學習新的東西。

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 荣昌县| 南投市| 思茅市| 石林| 晋州市| 宜昌市| 获嘉县| 宿州市| 徐水县| 九龙城区| 武威市| 河北省| 资兴市| 项城市| 和平区| 平南县| 侯马市| 蒙城县| 凤庆县| 黄大仙区| 垦利县| 从化市| 台中市| 唐海县| 武宣县| 那坡县| 琼结县| 旬邑县| 门头沟区| 河北省| 军事| 清水河县| 茂名市| 长乐市| 任丘市| 宕昌县| 衡东县| 河曲县| 东乡族自治县| 康乐县| 慈利县|