设计模式:KISS、YAGNI、DRY 原则,迪米特法则(LOD)
如何理解“KISS 原則”?
KISS 原則的英文描述有好幾個版本,比如下面這幾個。
不過,仔細看你就會發現,它們要表達的意思其實差不多,翻譯成中文就是:盡量保持簡單。
?
代碼邏輯復雜就違背 KISS 原則嗎?
? 剛剛我們提到,并不是代碼行數越少就越“簡單”,還要考慮邏輯復雜度、實現難度、代碼的可讀性等。?越是能用簡單的方法解決復雜的問題,越能體現一個人的能力。
?
YAGNI 原則
??YAGNI 原則的英文全稱是:You Ain’t Gonna Need It。直譯就是:你不會需要它。實際上,這條原則的核心思想就是:不要做過度設計。
?
KISS 原則講的是“如何做”的問題(盡量保持簡單),而 YAGNI 原則說的是“要不要做”的問題(當前不需要的就不要做)。
?
DRY 原則
??Don’t Repeat Yourself。不要寫重復的代碼。
? 實際上,重復的代碼不一定違反 DRY 原則,而且有些看似不重復的代碼也有可能違反 DRY 原則。
?
什么是代碼的復用性?
??代碼復用表示一種行為:我們在開發新功能的時候,盡量復用已經存在的代碼。
? 代碼的可復用性表示一段代碼可被復用的特性或能力:我們在編寫代碼的時候,讓代碼盡量可復用。
? DRY 原則是一條原則:不要寫重復的代碼。
?
?提高代碼可復用性的一些方法,有以下 7 點。
滿足單一職責原則
?
迪米特法則(LOD)
? ?“高內聚、松耦合”是一個非常重要的設計思想,能夠有效地提高代碼的可讀性和可維護性,縮小功能改動導致的代碼改動范圍。
? ? 高內聚,就是指相近的功能應該放到同一個類中,不相近的功能不要放到同一個類中。相近的功能往往會被同時修改,放到同一個類中,修改會比較集中,代碼容易維護。?
? ?松耦合,在代碼中,類與類之間的依賴關系簡單清晰。即使兩個類有依賴關系,一個類的代碼改動不會或者很少導致依賴類的代碼改動。
? ?不該有直接依賴關系的類之間,不要有依賴;有依賴關系的類之間,盡量只依賴必要的接口(也就是定義中的“有限知識”)。
? ??
?
總結
以上是生活随笔為你收集整理的设计模式:KISS、YAGNI、DRY 原则,迪米特法则(LOD)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式:控制反转(Inversion
- 下一篇: springboot:自动配置原理入门