[英]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.