3 回答

TA貢獻2080條經驗 獲得超4個贊
該功能很容易實現,無需使用庫。
恕我直言,那就是要走的路。您的其他選擇是:
圍繞庫構建功能:您說在您的情況下這是不可能的。
在您自己的源代碼控制系統中創建庫的一個分支。這意味著您必須使該存儲庫與庫維護者保持同步,這意味著永久性負擔。你必須檢查圖書館的許可證關于分叉的內容。
將相關部分復制到您的代碼庫中并在那里進行修改。然后,您將無法從未來的增強或錯誤修復中獲利,但仍然必須維護由其他人創建和架構的代碼,并且不完全符合您的要求。你必須檢查圖書館的許可證關于將部分復制到外國代碼庫中的內容。
他們都有自己的缺點。
總而言之:在 25 年的專業軟件開發中,我看到了外部庫的成功使用和完全的失敗。有時,我們在評估現有庫(然后發現沒有任何匹配項)上投入的時間比我們自己實施項目特定解決方案所需的時間更多。
您可以不用的每個庫都使配置管理和部署變得更加容易。

TA貢獻1793條經驗 獲得超6個贊
裝飾器模式允許您向現有對象添加新功能。
如果你使用的 java 庫有這樣的類:
public class LibraryClass implement ILibraryInterface {
public void someMethod() {
...
}
}
然后你可以創建Decorator類:
public class LibraryClassDecorator implement ILibraryInterface {
private LibraryClass libObj;
public LibraryClassDecorator(LibraryClass libObj) {
this.libObj = libObj;
}
public void someMethod() {
libObj.someMethod();
// here you can do whatever you want.
// Add some additional logic
// transform result value if there is some
}
}
注意:您必須實現相同的接口才能遵循Liskov 替換原則
添加回答
舉報