我正在談論第三方庫的包裝。直到最近,我試圖提供一個通用的包裝器,所以我可以根據需要輕鬆切換庫。然而,事實證明這幾乎是不可能的,因爲即使在處理基本概念方面,圖書館也可能有很大差異。何時,爲什麼以及如何使用包裝?
所以問題來了,爲什麼我們應該使用包裝。 (過去,我被有經驗的編程人員鼓勵爲第三方庫編寫包裝。)我得出以下結論:請告訴我他們是否有錯或者是否有任何補充。
- 如果該庫沒有在應用程序中廣泛使用(例如,只有一個或兩個類使用),請不要編寫包裝器,直接使用它。 (尤其是如果它是一個可移植的庫)
- 當你寫封裝器不認爲你可以做出一個適合所有封裝。寫一些適合於lib的優點的東西。
- ...但在某些情況下,您仍然可以將包裝器概括得足夠多,以便切換庫會更容易一些。 (例如:大多數圖形庫使用圖像和字體。)
- 當庫提供比您需要的更多功能時,包裝器非常有用。您可以將不需要的功能隱藏在包裝中。
- 對於C庫(如果您使用的是C++),您還可以編寫一個包裝來幫助您進行自動內存管理。
您認爲使用包裝的(dis)優點,以及它們應該如何正確使用?