<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    軟件設計原則

    Posted on 2011-01-28 22:00 Wesley Xie 閱讀(1099) 評論(0)  編輯  收藏 所屬分類: 設計相關

    已經有很多人寫過類似的文章了,不過我還是想記錄下來,最近對設計原則的理解,哪天回頭觀看,也有點印象:

     

    單一職責原則:

          就一個類而言、應該僅有一個引起它變化的原因。 這句話的意思是說,如果有多種不同類型的需求改變了,都需要對該類進行改變,那么這個類就違背了單一職責原則,這個度非常難把握,個人感覺很多時候,單一職責原則比較滯后,大部分情況下都是在需求變更的時候,才發現這個某些類單一職責原則沒有太好落實,因此才去做的重構,其實發生這個情況的原因,個人感覺主要是在做設計的時候,還是功夫做得太少,如果能在紙上多畫畫,應該效果會更好。

          軟件設計真正要做的許多內容,就是發現職責并把那些職責相互分離----如果你能夠想到多于一個的動機去改變一個類,那么這個類就具有多于一個的職責。

     

    開放-關閉原則

          對于擴展是開放的,對于更改是封閉的。

          怎樣的設計才能面對需求的改變卻可以保持相對穩定,從而使得系統可以在第一個版本以后不斷推出新的版本呢?

          無論模塊是多么的‘封閉’,都會存在一些無法對之封閉的變化。既然不可能完全封閉,設計人員必須對于他設計的模塊應該對哪種變化封閉做出選擇。他必須先猜測出最有可能發生的變化種類,然后構造抽象來隔離那些變化。

          在我們最初編寫代碼時,假設變化不會發生。當變化發生時,我們就創造抽象來隔離里后發生的同類變化。

          面對需求,對程序的改動是通過增加新代碼進行的,而不是更改現有的代碼。這就是開放-關閉原則的精神所在。 我們希望的是在開發工作展開不就就知道可能發生的變化。查明可能發生的變化所等待的時間越長,要創建正確的抽象就越困難。

            開放-關閉原則是面向對象設計的核心所在。遵循這個原則可以帶來面向對象技術所聲稱的巨大好處,也就是可維護、可擴展、可復用、靈活性好。開發人員應該僅針對程序中呈現出頻繁變化的那些部分做出抽象,然而,對于應用程序中的每個部分都刻意地進行抽象同樣不是一個好主意。拒絕不成熟的抽象和抽象本身一樣重要。

     

    依賴倒轉原則

          針對接口編程,而不要對實現編程:

                A. 高層模塊不應該依賴低層模塊,兩個應該都依賴抽象。

                B. 抽象不應該依賴細節,細節應該依賴抽象。

     

          以上都是根據書上所寫,但個人在這里有些需要說明的,依賴倒轉原則與前面所講的原則都是一樣,不要將所有的地方,都寫成是對接口編程,那樣相當于是過度抽象,其實對整個軟件設計并沒有任何好處。一句話概括:只有當需要的時候,再進行抽象,這也是敏捷所描述的精神。

     

    里氏代換原則

          一個軟件實體如果使用的是一個父類的話,那么一定適用于其子類,而且它察覺不出父類對象和子類對象的區別。也就是說,在軟件里面,把父類都替換成它的子類,程序的行為沒有變化。簡單地說,子類型必須能夠替換掉它們的父類型。

          只有當子類可以替換掉父類,軟件單位的功能不受到影響時,父類才能真正被復用,而子類也能夠在父類的基礎上增加新的行為。


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 免费无码又爽又刺激高潮视频| 无码毛片一区二区三区视频免费播放 | 日韩精品无码一区二区三区免费| 狠狠色婷婷狠狠狠亚洲综合 | 免费无码午夜福利片69| 国产精品久久久久影院免费| 亚洲欧美日韩国产成人| a级毛片无码免费真人| 亚洲一卡2卡4卡5卡6卡残暴在线| 亚洲无砖砖区免费| 亚洲色图激情文学| 日韩激情无码免费毛片| 国产精品久久久久久亚洲小说| 国产区卡一卡二卡三乱码免费| 国产亚洲精品免费| 夜夜春亚洲嫩草影院| 在线看片免费人成视频福利| 在线观看亚洲一区二区| 动漫黄网站免费永久在线观看| 亚洲日韩精品国产3区| 国产免费牲交视频| 美女网站在线观看视频免费的| 亚洲av成人无码久久精品| 99热在线免费观看| 亚洲欧洲av综合色无码| 免费人成在线观看网站视频| aaa毛片免费观看| 亚洲精品国产福利在线观看| 午夜免费福利网站| 国产免费久久精品丫丫| 久久亚洲精品人成综合网 | 女人18毛片a级毛片免费视频| 亚洲第一成年免费网站| 国产亚洲精品拍拍拍拍拍 | 国语成本人片免费av无码| 精品国产亚洲AV麻豆| 精品国产_亚洲人成在线高清| 在线观看H网址免费入口| 国产精品日本亚洲777| 亚洲一区综合在线播放| 午夜免费福利在线观看|