認識設計模式

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

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



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

          開閉原則 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 閱讀(214) 評論(0)  編輯  收藏 所屬分類: 設計模式

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

          導航

          統計

          公告

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

          常用鏈接

          留言簿(3)

          隨筆分類

          隨筆檔案

          文章分類

          相冊

          收藏夾

          Java Website

          java技術博客

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 万载县| 新昌县| 五河县| 盘锦市| 新巴尔虎右旗| 寿宁县| 鲁甸县| 浦北县| 浪卡子县| 南平市| 红原县| 米林县| 密山市| 鄂托克前旗| 濮阳县| 淅川县| 安福县| 铜陵市| 新晃| 祥云县| 都昌县| 朔州市| 邻水| 闽清县| 福海县| 汨罗市| 阿拉善左旗| 库尔勒市| 宜宾市| 承德市| 宜阳县| 通化市| 德昌县| 凌海市| 武平县| 永州市| 平远县| 定边县| 股票| 佛学| 子洲县|