我們一直強調軟件開發中要按照高內聚、低耦合的設計原則來做代碼結構設計。c語言和c++不同,c語言面向過程、c++面向對象。
真正的項目中,要對業務升級,原來的業務函數需要保留,要保證老的功能繼續維持,不能直接刪除,這時候c語言面向過程,通常使用回調的方法。c++面向對象,要實現高內聚、低耦合,需要使用接口技術。
什么是耦合性
耦合性其實就是程序之間的相關性。程序之間絕對沒有相關性是不可能的,否則也不可能在一個程序中啟動,如下圖:
這是一個Linux中socket TCP編程的程序流程圖,在圖中的TCP服務器端,socket()、bind()接口、listen()接口、accept()接口之間肯定存在著相關(就是要調用下一個接口程序必需先調用前一個接口),也就是耦合,否則整個TCP服務器端就建立不起來,以及改變了bind()中的傳入的數據,比如端口號,那么接下來的listen()監聽的端口,accept()接收連接的端口也會改變,所以它們之間有很強的相關性,屬于緊耦合。
耦合的形式
(1)數據之間耦合
在同一個結構體或者類中,如:</