中国建设部官方网站鲁班奖,微信h5页面制作教程,做自己的第一个网站,网站动态logo怎么做下面是一个基于Java语言的Facade模式示例#xff1a;
java
// 这个接口是客户端所看到的#xff0c;也就是外观
public interface ICalculator { int add(int a, int b); int subtract(int a, int b);
} // 这个类实现了上面的接口#xff0c;也就是具体子系统的一…下面是一个基于Java语言的Facade模式示例
java
// 这个接口是客户端所看到的也就是外观
public interface ICalculator { int add(int a, int b); int subtract(int a, int b);
} // 这个类实现了上面的接口也就是具体子系统的一部分
public class Calculator : ICalculator { public int add(int a, int b) { return a b; } public int subtract(int a, int b) { return a - b; }
} // 这个类是真正的Facade他实现了和上面接口一样的接口但是内部却委派给了具体的子系统组件
public class CalculatorFacade : ICalculator { private ICalculator calculator; public CalculatorFacade(ICalculator calculator) { this.calculator calculator; } public int add(int a, int b) { return calculator.add(a, b); } public int subtract(int a, int b) { return calculator.subtract(a, b); }
} 在这个例子中Calculator就是具体子系统的一部分而CalculatorFacade则是外观它实现了相同的接口但内部委派给了Calculator。通过这种方式我们隐藏了子系统的复杂性使得客户端只需要和简单的接口进行交互而无需关心具体的实现细节。