任何傻瓜都可以寫(xiě)出計(jì)算機(jī)能懂的代碼,但好的程序員可以寫(xiě)出人類(lèi)能懂的代碼-----Martin Fowler


 如果你是新手,你可能會(huì)問(wèn),為什么代碼需要設(shè)計(jì)原則?

我想說(shuō)的是肯定不是為了故作高深,存在即是合理,

如果寫(xiě)了一個(gè)簡(jiǎn)單的程序,你可能不需要設(shè)計(jì)原則,

如果你寫(xiě)了一個(gè)復(fù)雜的,但是之后再也不會(huì)改,那么你也不需要,

但是現(xiàn)實(shí)生活中,基本上的軟件系統(tǒng)有一定復(fù)雜度,而且都在不斷的修改。

所以我們需要寫(xiě)出一個(gè)不僅讓機(jī)器看懂,還能夠讓人類(lèi)看懂的代碼。

讓人類(lèi)能看懂的代碼即是可維護(hù)性代碼,它包含兩個(gè)核心原則:高內(nèi)聚、低耦合。

一個(gè)有助于實(shí)現(xiàn)高內(nèi)聚低耦合的原則是關(guān)注點(diǎn)分離Separation of Concerns(SOC),關(guān)注點(diǎn)是軟件功能的不同部分,像業(yè)務(wù)邏輯或者表現(xiàn)方式,

SOC是關(guān)于把系統(tǒng)分解成不同的可能沒(méi)有重疊的特性,比如盡量將業(yè)務(wù)邏輯放在領(lǐng)域?qū)?,而不是一部分放在存?chǔ)過(guò)程,一部分放在UI。

后來(lái)這些原則得到進(jìn)一步的完善和強(qiáng)化,大師Robert  C. Martin給出了5個(gè)更有效,更具體和可實(shí)施的原則,即比較流行的SOLID原則。

  1. 單一職責(zé)(SRP)

    類(lèi)應(yīng)該盡可能簡(jiǎn)單,專(zhuān)注于一個(gè)核心任務(wù),

  2. 開(kāi)閉原則(OCP)

    即對(duì)擴(kuò)展開(kāi)放,對(duì)修改關(guān)閉

  3. 里氏替換原則(LSP)

    延伸閱讀

    學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式