[英]What's the pattern name for wrapping access to static methods/variables?
接下來的問題是代理,裝飾器,適配器和橋接模式有何不同? ,您將如何描述我幾次需要實現的以下模式?
場景是我從第三方類引用了靜態方法或變量,但我想將其隱藏在接口后面,以便可以對其進行模擬以進行測試。
例如,在Java中,commons-lang庫具有一個SystemUtils類,該類具有常量IS_OS_WINDOWS等。我想運行獨立於底層OS並模擬各種OS的測試,因此我將對常量的訪問包裝如下:
interface ISystemUtils {
boolean isOsWindows();
}
class SystemUtilsImpl implements ISystemUtils {
@Override
public boolean isOsWindows() {
return SystemUtils.IS_OS_WINDOWS;
}
}
這是代理服務器,是通用的“包裝器”,還是其他產品?
這稱為立面 :
外觀是為大型代碼(例如類庫)提供簡化接口的對象。 外牆可以:
- 由於立面具有執行常見任務的便捷方法,因此使軟件庫更易於使用,理解和測試。
- 出於相同的原因,使庫更具可讀性
- 減少外部代碼對庫內部工作的依賴,因為大多數代碼使用外觀,因此在開發系統時具有更大的靈活性
- 用一個設計良好的API來包裝設計欠佳的API集合。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.