任何傻瓜都可以寫出計算機能懂的代碼,但好的程序員可以寫出人類能懂的代碼-----Martin Fowler
如果你是新手,你可能會問,為什么代碼需要設(shè)計原則?
我想說的是肯定不是為了故作高深,存在即是合理,
如果寫了一個簡單的程序,你可能不需要設(shè)計原則,
如果你寫了一個復(fù)雜的,但是之后再也不會改,那么你也不需要,
但是現(xiàn)實生活中,基本上的軟件系統(tǒng)有一定復(fù)雜度,而且都在不斷的修改。
所以我們需要寫出一個不僅讓機器看懂,還能夠讓人類看懂的代碼。
讓人類能看懂的代碼即是可維護性代碼,它包含兩個核心原則:高內(nèi)聚、低耦合。
一個有助于實現(xiàn)高內(nèi)聚低耦合的原則是關(guān)注點分離Separation of Concerns(SOC),關(guān)注點是軟件功能的不同部分,像業(yè)務(wù)邏輯或者表現(xiàn)方式,
SOC是關(guān)于把系統(tǒng)分解成不同的可能沒有重疊的特性,比如盡量將業(yè)務(wù)邏輯放在領(lǐng)域?qū)?,而不是一部分放在存儲過程,一部分放在UI。
后來這些原則得到進一步的完善和強化,大師Robert C. Martin給出了5個更有效,更具體和可實施的原則,即比較流行的SOLID原則。
單一職責(SRP)
類應(yīng)該盡可能簡單,專注于一個核心任務(wù),
開閉原則(OCP)
即對擴展開放,對修改關(guān)閉
里氏替換原則(LSP)