使用第三方庫是否應該做二次封裝

2021-07-23 11:50:59 字數 1029 閱讀 5094

現在有大量的開源第三方庫,大家幾乎每個專案都有用到。

而這些庫基本都提供了非常友好的介面,**用層使用。

但是,考慮到版本公升級,程式設計師的水平,甚至使用許可等方面的問題,我考慮對未來大多數要使用的第三方庫進行二次封裝。

下面是我想到的基於多人開發,有可能發布多次公升級版本的情況下的優缺點。

希望大家參與討論給出意見。謝謝。

優點:

1:當自己的軟體版本公升級時,可能會出現需要更換第三方庫的情況,乙個庫的使用不能滿足新的需求,這時,如果使用了二次封裝,那麼庫的更改和自己編寫的應用層就可以脫離,只需要改寫二次封裝就可以實現。避免了走入應用層,改寫大量的**甚至軟體流程和架構。

2:當第三方庫發生官方公升級和出現了官方對已知侷限性及bug的修訂時,只需要在二次封裝的介面層改動即可。

3:當需求必須對第三方庫新增額外功能時,可以新增在二次封裝層,避免了對第三方庫本身的修改,減少了潛在危險。

4:新開發人員只需要對二次封裝學習就能快速上手,因為二次封裝是之前開發人員留下的成果,公司內部有豐富的資料和統一的編碼風格,相對於第三方庫本身學習要容易和快捷。

5:大家補充下。

缺點:

1:額外工作量:多數第三方庫有比較友好的介面,新增乙個二次封裝會導致開發人員的首次開發中投入相對於直接使用第三方庫較多的時間和精力。

2:針對優點3------直接修改第三方庫:

1.**編寫數量少:對庫自身**的改動往往只需要簡單的**就能實現外部改動需要較多**數量的需求。

2.執行效率高:嵌入在第三方庫內部空間內的功能,必然要比在第三方庫外新增的功能執行效率高。

3:大家補充。

當然,是相對**量比較大的第三方庫。如果說是要看情況,希望大家能指出具體的情況的例子。

謝謝了~~

如果是還有人維護的第三方開源庫,專案組人力不足的情況下,不進行二次封裝,也不會有很大的風險。

如果開源庫已經沒有人維護,或者遇到問題響應速度非常慢,還是需要考慮進行二次封裝。

總的來說,我喜歡進行二次封裝,自己掌握主動。

第三方SQLITE封裝庫pldatabase的介紹

下面我翻譯一下其最簡單的入門知識,在專案過程中,發現這些其實也夠用,但異常處理這些我還沒引進來使用.view plain copy to clipboard print?plsqlitedatabase db plsqlitedatabase alloc initwithpath path to d...

第三方SQLITE封裝庫pldatabase的介紹

下面我翻譯一下其最簡單的入門知識,在專案過程中,發現這些其實也夠用,但異常處理這些我還沒引進來使用.plsqlitedatabase db plsqlitedatabase alloc initwithpath path to database if db open nslog could not ...

Qt使用第三方庫

src 3rdparty lib bin 上面的資訊在 pro 檔案中提供,以便 qmake 可以解析它並生成 makefiles。makefiles 包含編譯器和鏈結器生成輸出所需的所有資訊,無論它是可執行檔案,另乙個庫檔案等。使用 includepath 變數提供 mylibrary 的 inc...