• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            S.l.e!ep.¢%

            像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開心的工作
            簡單、開放、平等的公司文化;尊重個性、自由與個人價(jià)值;
            posts - 1098, comments - 335, trackbacks - 0, articles - 1
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            7種設(shè)計(jì)壞味道
            1.僵化性: 很難對系統(tǒng)進(jìn)行改動,因?yàn)槊總€改動都會迫使許多對系統(tǒng)其他部分的其它改動。

            2.脆弱性: 對系統(tǒng)的改動會導(dǎo)致系統(tǒng)中和改動的地方在概念上無關(guān)的許多地方出現(xiàn)問題。

            3.牢固性: 很難解開系統(tǒng)的糾結(jié),使之成為一些可在其他系統(tǒng)中重用的組件。

            4.粘滯性: 做正確的事情比做錯誤的事情要困難。

            5.復(fù)雜性(不必要的): 設(shè)計(jì)中包含有不具任何直接好處的基礎(chǔ)結(jié)構(gòu)。

            6.重復(fù)性(不必要的): 設(shè)計(jì)中包含有重復(fù)的結(jié)構(gòu),而該重復(fù)的結(jié)構(gòu)本可以使用單一的抽象進(jìn)行統(tǒng)一。

            ? 7.晦澀性: 很難閱讀、理解。沒有很好地表現(xiàn)出意圖。

            11種原則 - Principle

            ----類原則

            1.單一職責(zé)原則 - Single Responsibility Principle(SRP)

            就一個類而言,應(yīng)該僅有一個引起它變化的原因。

            (職責(zé)即為變化的原因。)

            2.開放-封閉原則 - Open Close Principle(OCP)

            軟件實(shí)體(類、模塊、函數(shù)等)應(yīng)該是可以擴(kuò)展的,但是不可修改。

            (對于擴(kuò)展是開放的,對于更改是封閉的.

            關(guān)鍵是抽象.將一個功能的通用部分和實(shí)現(xiàn)細(xì)節(jié)部分清晰的分離開來.

            開發(fā)人員應(yīng)該僅僅對程序中呈現(xiàn)出頻繁變化的那些部分作出抽象.

            拒絕不成熟的抽象和抽象本身一樣重要. )

            3.里氏替換原則 - Liskov Substitution Principle(LSP)

            子類型(subclass)必須能夠替換掉它們的基類型(superclass)。

            4.依賴倒置原則(IoCP) 或 依賴注入原則 - Dependence Inversion Principle(DIP)

            抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象。

            (Hollywood原則: "Don't call us, we'll call you".

            程序中所有的依賴關(guān)系都應(yīng)該終止于抽象類和接口。

            針對接口而非實(shí)現(xiàn)編程。

            任何變量都不應(yīng)該持有一個指向具體類的指針或引用。

            任何類都不應(yīng)該從具體類派生。

            任何方法都不應(yīng)該覆寫他的任何基類中的已經(jīng)實(shí)現(xiàn)了的方法。)

            5.接口隔離原則(ISP)

            不應(yīng)該強(qiáng)迫客戶依賴于它們不用的方法。

            接口屬于客戶,不屬于它所在的類層次結(jié)構(gòu)。

            (多個面向特定用戶的接口勝于一個通用接口。)

            ----包內(nèi)聚原則

            6.重用發(fā)布等價(jià)原則(REP)

            重用的粒度就是發(fā)布的粒度。

            7.共同封閉原則(CCP)

            包中的所有類對于同一類性質(zhì)的變化應(yīng)該是共同封閉的。

            一個變化若對一個包產(chǎn)生影響,

            則將對該包中的所有類產(chǎn)生影響,

            而對于其他的包不造成任何影響。

            8.共同重用原則(CRP)

            一個包中的所有類應(yīng)該是共同重用的。

            如果重用了包中的一個類,

            那么就要重用包中的所有類。

            (相互之間沒有緊密聯(lián)系的類不應(yīng)該在同一個包中。)

            ----包耦合原則

            9.無環(huán)依賴原則(ADP)

            在包的依賴關(guān)系圖中不允許存在環(huán)。

            10.穩(wěn)定依賴原則(SDP)

            朝著穩(wěn)定的方向進(jìn)行依賴。

            應(yīng)該把封裝系統(tǒng)高層設(shè)計(jì)的軟件(比如抽象類)放進(jìn)穩(wěn)定的包中,

            不穩(wěn)定的包中應(yīng)該只包含那些很可能會改變的軟件(比如具體類)。

            11.穩(wěn)定抽象原則(SAP)

            包的抽象程度應(yīng)該和其穩(wěn)定程度一致。

            (一個穩(wěn)定的包應(yīng)該也是抽象的,一個不穩(wěn)定的包應(yīng)該是抽象的. )

            ----其它擴(kuò)展原則----

            12.BBP(Black Box Principle)黑盒原則

            多用類的聚合,少用類的繼承。

            13.DAP(Default Abstraction Principle)缺省抽象原則

            在接口和實(shí)現(xiàn)接口的類之間引入一個抽象類,這個類實(shí)現(xiàn)了接口的大部分操作.

            14.IDP(Interface Design Principle)接口設(shè)計(jì)原則

            規(guī)劃一個接口而不是實(shí)現(xiàn)一個接口。

            15.DCSP(Don't Concrete Supperclass Principle)不要構(gòu)造具體的超類原則

            避免維護(hù)具體的超類。

            16.迪米特法則

            一個類只依賴其觸手可得的類。
            欧美大战日韩91综合一区婷婷久久青草 | 久久美女网站免费| 亚洲欧洲久久av| 蜜桃麻豆www久久国产精品| 无码人妻久久一区二区三区 | 99久久精品国产高清一区二区| 欧美午夜A∨大片久久| 亚洲天堂久久精品| 9999国产精品欧美久久久久久| 久久久噜噜噜久久中文福利| 日韩AV毛片精品久久久| 久久久噜噜噜久久| segui久久国产精品| 狠狠人妻久久久久久综合| 狠狠久久综合| 亚洲欧美一区二区三区久久| 久久青青草原精品国产不卡| 久久久久久久久久免免费精品| 精品乱码久久久久久夜夜嗨| 99久久精品免费国产大片| 2021最新久久久视精品爱| 久久成人18免费网站| 亚洲国产成人精品91久久久| 美女久久久久久| 99久久超碰中文字幕伊人| 国产午夜电影久久| 久久久久久久久66精品片| 久久精品aⅴ无码中文字字幕不卡| 久久久久久久综合日本| 亚洲国产香蕉人人爽成AV片久久| 午夜精品久久久久久影视777| 无码人妻久久一区二区三区蜜桃 | 久久这里只有精品18| 欧美熟妇另类久久久久久不卡| 日本久久久精品中文字幕| 亚洲午夜久久影院| 亚洲av伊人久久综合密臀性色 | 久久免费精品一区二区| 国产香蕉久久精品综合网| 久久精品亚洲日本波多野结衣 | 久久精品国产69国产精品亚洲|