1. 程式人生 > 其它 >面向介面程式設計原理

面向介面程式設計原理

面向介面程式設計原理

“基於介面而非實現程式設計”這條原則的英文描述是:“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

------------------越是喧囂的世界,越需要寧靜的思考------------------ 合抱之木,生於毫末;九層之臺,起於壘土;千里之行,始於足下。 積土成山,風雨興焉;積水成淵,蛟龍生焉;積善成德,而神明自得,聖心備焉。故不積跬步,無以至千里;不積小流,無以成江海。騏驥一躍,不能十步;駑馬十駕,功在不捨。鍥而舍之,朽木不折;鍥而不捨,金石可鏤。蚓無爪牙之利,筋骨之強,上食埃土,下飲黃泉,用心一也。蟹六跪而二螯,非蛇鱔之穴無可寄託者,用心躁也。