面向介面程式設計原理
面向介面程式設計原理
“基於介面而非實現程式設計”這條原則的英文描述是:“Program to an interface, not an implementation”。我們理解這條原則的時候,千萬不要一開始就與具體的程式語言掛鉤,侷限在程式語言的“介面”語法中(比如 Java 中的 interface 介面語法)。這條原則最早出現於 1994 年 GoF 的《設計模式》這本書,它先於很多程式語言而誕生(比如 Java 語言),是一條比較抽象、泛化的設計思想。
這條原則能非常有效地提高程式碼質量,之所以這麼說,那是因為,應用這條原則,可以::
- 將介面和實現相分離
- 封裝不穩定的實現
- 暴露穩定的介面
上游系統面向介面而非實現程式設計,不依賴不穩定的實現細節,這樣當實現發生變化的時候,上游系統的程式碼基本上不需要做改動,以此來降低耦合性,提高擴充套件性。
實際上,“基於介面而非實現程式設計”這條原則的另一個表述方式,是“基於抽象而非實現程式設計”。後者的表述方式其實更能體現這條原則的設計初衷。在軟體開發中,最大的挑戰之一就是需求的不斷變化,這也是考驗程式碼設計好壞的一個標準。越抽象、越頂層、越脫離具體某一實現的設計,越能提高程式碼的靈活性,越能應對未來的需求變化。好的程式碼設計,不僅能應對當下的需求,而且在將來需求發生變化的時候,仍然能夠在不破壞原有程式碼設計的情況下靈活應對。而抽象就是提高程式碼擴充套件性、靈活性、可維護性最有效的手段之一
https://www.cnblogs.com/appsucc/p/13034479.html#:~:text=面向介面程式設計原理.%20“基於介面而非實現程式設計”這條原則的英文描述是:“Program%20to%20an%20interface%2C%20not%20an%20implementation”%E3%80%82.,的《設計模式》這本書,它先於很多程式語言而誕生(比如%20Java%20語言),是一條比較抽象、泛化的設計思想%E3%80%82.%20這條原則能非常有效地提高程式碼質量,之所以這麼說,那是因為,應用這條原則,可以%3A%3A%20將介面和實現相分離.%20封裝不穩定的實現.%20暴露穩定的介面.%20