繼續從問題How do the Proxy, Decorator, Adapter, and Bridge Patterns differ?中,您將如何描述以下需要多次實施的模式?什麼是包裝訪問靜態方法/變量的模式名稱?
這種情況是,我從第三方類引用靜態方法或變量,但我想隱藏它在一個接口後面,以便我可以嘲笑它進行測試。
例如,在Java中,commons-lang庫有一個常量爲IS_OS_WINDOWS等的SystemUtils類。我想運行獨立於底層操作系統並模仿各種操作系統的測試,因此我將對常量的訪問包裝如下:
interface ISystemUtils {
boolean isOsWindows();
}
class SystemUtilsImpl implements ISystemUtils {
@Override
public boolean isOsWindows() {
return SystemUtils.IS_OS_WINDOWS;
}
}
這是代理服務器,通用「包裝器」還是其他?
感謝您的快速答案@adriaan。 Facade「感覺」是正確的,儘管我的理解是它通常涉及覆蓋_multiple_基礎類的元素。然而,我的例子可以說是涵蓋了大多數上述要點,特別是第一個。 – Richard
@Gendarme修復了Facade鏈接tnx的佈局 –