<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. 抽象不應該依賴細節,細節應該依賴抽象。

     

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

     

    里氏代換原則

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

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


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


    網站導航:
     
    主站蜘蛛池模板: 精品一区二区三区高清免费观看| 国内精品久久久久影院亚洲| 久久久WWW免费人成精品| 国产免费资源高清小视频在线观看| 亚洲男人天堂2018av| 免费无码AV电影在线观看| 亚洲w码欧洲s码免费| 成人免费淫片在线费观看| 亚洲国产精品成人综合色在线| 免费做爰猛烈吃奶摸视频在线观看 | 亚洲AV无码乱码在线观看代蜜桃| 最近免费中文字幕高清大全| 亚洲美女在线观看播放| 中文字幕av无码无卡免费| 亚洲色偷偷综合亚洲AV伊人蜜桃| 在线观看成人免费视频| 美女黄网站人色视频免费| 狠狠亚洲婷婷综合色香五月排名| 99久久免费国产特黄| 亚洲日本精品一区二区| 国产香蕉免费精品视频| 亚洲成a人片在线不卡一二三区| 又粗又黄又猛又爽大片免费 | 国产亚洲精品影视在线产品| 巨胸喷奶水www永久免费| 久久久亚洲欧洲日产国码aⅴ| 日本高清在线免费| 久久综合亚洲色hezyo| 中文字幕日韩亚洲| 在线免费中文字幕| 福利片免费一区二区三区| 伊人久久精品亚洲午夜| 2021久久精品免费观看| 三年片在线观看免费观看大全中国| 亚洲熟妇无码AV在线播放| 国产精品色拉拉免费看| 特级做a爰片毛片免费看| 久久亚洲AV成人无码软件| 日本免费一区二区三区最新| 182tv免费视频在线观看| 亚洲黄页网在线观看|