開發(fā)過程中,我們經常會用到第三方包,開放源碼或者二方包,不管是哪種情況,我們都得將外來代碼干凈利落地整合進自己的代碼中。
外來代碼的問題
1、在接口提供者和使用者之間,存在與生倶來的張力。第三方程序包和框架提供者追求普適性,這樣就能在多個環(huán)境中工作,吸引廣泛的用戶。而使用者則想要集中滿足特定需求的接口。也就是說,接口的提供者會提供廣泛,普適性的接口,而使用者需要隱藏一部分接口,改造另一部分接口。
2、接口提供者可能會更新接口,使用者需要確保未來的修改不至于代價太大。
封裝
我們可以使用一個自定義的類來封裝邊界接口,隱藏掉不分不需要的接口并根據需求重寫一部分接口,并且將自定義類(代替邊界接口)作為參數和返回值在函數之間傳遞,一方面對邊界接口進行隱藏改造,另一方面伴隨邊界接口升級,后序代碼改造成本低。
適配器
對于我們需要使用到但還未被定義開發(fā)的接口,我們可以先自定義我們希望得到的接口,并且針對該接口進行編程,當需要的接口編寫好之后,我們在用適配器模式去適配。
學習性測試
使用第三方API之前,我們應該編寫測試用例,一方面可以學習理解接口,另一方面可以保證接口按照我們認為的方式運行。????