【貓和狗結婚,不久鬧離婚。 法官問原因,狗說:貓婚後每晚都不回家,行為不軌。 貓大喊:冤枉啊,我只是去追老鼠。 狗說:法官你聽聽。】
如何優雅處理與第三方api的邊界問題???
1)學習性測試:在專案中引入第三方api的新版本,測試專案是否正常工作,當然我們基本上沒有時間去重頭學習和研究第三方工具或者自己寫**來實現第三方工具的功能,但是我們至少應該先對第三方工具進行測試。
2)編寫測試來遍覽和理解第三方**,同時也是一種免費學習;
3)處理邊界問題方法:介面卡模式是非常好的設計,用新類包裝第三方api,用adapter模式將我們的介面轉換為第三方提供的介面,它不僅能將不相容的介面改寫成相容的介面,還能夠對通過對第三方工具重新封裝來避免邊界的變化對系統的影響;
這裡舉乙個介面卡例子:
ipoislide類:
package com.evada.de.common.pptexport.xlsfpoi.api;
/** * ppt單頁介面(這是自己公司寫的乙個介面)
*/public inte***ce ipoislide
poislidexslfimpl是ipoislide類的實現:
package com.evada.de.common.pptexport.xlsfpoi.impl;
/** * ppt文件頁物件poi xslf實現(這是自己公司寫的乙個介面實現)
*/public class poislidexslfimpl implements ipoislide
/** 新建乙個文字框,這個方法當作是自己擴充套件的乙個方法 **/
public ipoislidetext createtext() throws exception
}
這裡所謂的邊界,就是劃清專案**和第三方api之間的界限,一旦第三方api出現問題,我們可以修改我們自己的實現,而不用去修改第三方api的原始碼,同時,我們可以在自己實現裡,擴充套件其他方法,妙不可言啊!
來自《菜根譚》
優雅程式設計之這樣注重實效,你就「正常」了(十二)
專案開發過程中,注重實效的途徑?下面是來自 程式設計師修煉之道 中,自己的一些總結 重複的危害 系統中的每一項知識都必須具有單一,無歧視,權威的表示。不要重複你自己 重複是怎樣發生的 讓復用變得更容易 正交性 正交性 從幾何學中借來的術語,如果兩條直線相交成直角,他們就是正交的。兩個事物中乙個發生變...
優雅程式設計之這樣組織資料,你就「正常」了(二十五)
馬雲有1500億。中國有13億人 他每人發一億 他還有1487億 這樣他還是中國首富 全中國都是億萬富豪。我要不是數學系的都看不出裡面的道道 專案中如何重新組織資料?以下來自 重構 這本書的讀書筆記,歡迎留下寶貴意見。self encapsulate field 自封裝字段 你直接訪問乙個字段,但與...
程式設計之道,程式是這樣寫的
當你開始開啟事件寫 的時候,你是在過程階段。你學會把業務邏輯通過過程的一一對應關係,存續漸進地描述乙個事物。接下來你開始使用執行緒,它往往不是應用於乙個過程流,它是復合運作的,你必須很好的去控制它。於是你學會封裝,把一些常用的方法函式通過面向對像,把它例項化,抽像化,模組化,並通過記憶體共享,或者w...