鮑勃大叔:SOLID原則適合函式程式設計嗎?

banq發表於2019-08-27

當然,函式式程式設計師需要分離職責和使用者,防止串擾,他們希望儘量減少受更改影響的模組數量。
他們希望建立並遵守可靠的介面合同。他們希望避免依賴於他們不需要的模組和資源。他們當然希望高層政策能夠獨立於低層細節。

眾說紛紜:
1. 確實,特別是SRP和ISP,其最純粹的形式導致單一方法介面。當這些函式是純函式時,將依賴關係明確定義為引數(DIP導致這種情況)並使類成員變為不可變,我們就擁有了函式設計的基礎。

2. 對。FP是實現SOLID的先決條件。不是相反。您可以將SOLID應用於OOP語言,但是您需要使用大量FP模式進行程式設計 ,與使用真正FP語言相比,它的工作量是3倍。SOLID 的OOP程式碼很少見。

3. SOLID非常非常通用,幾乎可以應用於任何語言。甚至COBOL。

4. FP和OO是同一枚硬幣的兩面 - 它們只是表面上不同。我們為人們編寫程式碼 - 所以我們必須以一種吸引我們理性的方式寫作。抽象+動作或 動作+抽象。SOLID原則是這兩者的基礎。

5. 預設情況下,透過使用更純粹的函式式語言,可以隱式獲得很多SOLID優勢。雖然通常使用OOP或指令式程式設計,但您需要明確地使用SOLID,否則程式碼會變得非常混亂。

6. SOLID不僅適用於OOP。難道它不能適用於TSQL / PLSQL?

相關文章