定義:一個(gè)類只負(fù)責(zé)一件事情;
說明:類的單一職責(zé)原則受多重因素制約,實(shí)際實(shí)現(xiàn)起來,需要考慮項(xiàng)目工期、成本、人員技術(shù)水平等
使用:接口一定要做到單一職責(zé)原則,類的設(shè)計(jì)盡量做到單一職責(zé)原則
擴(kuò)展:?jiǎn)我宦氊?zé)原則同樣適用于類中的方法,方法一定要職責(zé)分明,耦合最低處理
定義:只要父類出現(xiàn)的地方子類就可以出現(xiàn),而且替換為子類也不會(huì)產(chǎn)生任何錯(cuò)誤和異常,適用根本不知道是父類還是子類。但是反過來就不行了,有子類出現(xiàn)的地方,父類未必就能適應(yīng)
定義:核心思想就是面向接口編程
表現(xiàn):模塊間的依賴通過抽象發(fā)生,實(shí)現(xiàn)類之間不發(fā)生直接的依賴關(guān)系,其依賴關(guān)系是通過接口或抽象類產(chǎn)生的;接口或抽象類不依賴于實(shí)現(xiàn)類;實(shí)現(xiàn)類依賴接口或抽象類
定義:接口盡量細(xì)化,同時(shí)接口中的方法盡量少,符合單一接口,接口不能臃腫;A業(yè)務(wù)調(diào)用一個(gè)接口,該接口只提供A要的功能,而沒有此外其他的功能暴露給A業(yè)務(wù)使用
區(qū)別單一職責(zé)原則:?jiǎn)我宦氊?zé)原則是基于業(yè)務(wù)角度來劃分職責(zé)的;而接口隔離原則是從接口本身的使用來規(guī)范的;
定義:類實(shí)現(xiàn)低耦合,調(diào)用者只需要了解被調(diào)用者的功能,而不需要了解被調(diào)用者是怎么實(shí)現(xiàn)的。
定義:一個(gè)軟件系統(tǒng)要實(shí)現(xiàn)對(duì)外擴(kuò)展開放,對(duì)修改關(guān)閉,通俗的說就是,一個(gè)軟件系統(tǒng)應(yīng)該通過擴(kuò)展來實(shí)現(xiàn)變化,而不是修改已有的代碼來實(shí)現(xiàn)變化。
軟件設(shè)計(jì)最大的難題就是應(yīng)對(duì)需求的變化,但是紛繁復(fù)雜的需求變化又是不可預(yù)料的。前人總結(jié)的6大設(shè)計(jì)原則和23個(gè)設(shè)計(jì)模式就是來應(yīng)對(duì)未來的變化。在設(shè)計(jì)開發(fā)一個(gè)軟件時(shí),我們要以6大設(shè)計(jì)原則為指導(dǎo)思想,以23設(shè)計(jì)模式為綱領(lǐng),只有這樣,我們的系統(tǒng)才能海納百川,對(duì)需求變化來者不拒。
聯(lián)系客服