設(shè)計原則和編程技巧

單一職責(zé)原則

一個對象(方法)只做一件事情
優(yōu)點

  • 降低了單個類或者對象的復(fù)雜度,按照職責(zé)把對象分解成更小的粒度,這樣有助于代碼復(fù)用,當(dāng)一個職責(zé)需要變更的時候,不會影響到其他的職責(zé)。

缺點

  • 明顯的是會增加代碼的復(fù)雜度,當(dāng)我們按照職責(zé)把對象分解成更小的粒度之后,實際也增加這些對象之間的相互練習(xí)難度

最少知識原則

盡量減少對象之間的交互,如果兩個對象之間不必要彼此直接通信,那么這個兩個對象就不要直接發(fā)生相互聯(lián)系,常見的是引入第三者來承擔(dān)兩者的通信,例如中介者模式和外觀模式

開放封閉原則(OCP)

軟件實體(類、模塊、函數(shù))應(yīng)該是可以擴展,但是不可以修改
找出變化的地方,然后把變化封裝起來(并沒有實際的模板教導(dǎo)我們該怎樣實現(xiàn)它,還是需要靠自己的體會以及經(jīng)驗去感受和實踐其中的原則)

以上幾個原則,建議參考書本進行理解,并對照案例體會,重復(fù)體會,相信會有屬于自己的領(lǐng)悟

代碼重構(gòu)

  • 提煉函數(shù)
  • 合并重復(fù)的條件片段
  • 把條件分支語句提煉成函數(shù)
  • 合理使用循環(huán)
  • 提前讓函數(shù)退出代替嵌套條件分支
  • 傳遞對象參數(shù)代替過長的參數(shù)列表
  • 盡量減少參數(shù)數(shù)量
  • 少用三目運算符
    邏輯簡單清晰可以使用三目運算符,如果過于復(fù)雜不建議使用
  • 合理使用鏈?zhǔn)秸{(diào)用
  • 分解大類型

參考書籍:js設(shè)計模式與開發(fā)實踐

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容