//20210118
写在前面:刚期末考试完,考了面向对象,里边儿有23个设计模式,我寻思着考完挨个儿实现一下,本文实现外观模式
外观模式:
- 给客户提供一个平台,客户不需要知道平台内的东西具体运行逻辑,只需要知道它们存在以及知道如何使用他们即可
- 实现源代码如下:
//平台代码
public class Facede {
//被委托的对象
SubSystemA a;
SubSystemB b;
public Facede(){
a = new SubSystemA();
b = new SubSystemB();
}
public void methodA(){
this.a.doSomething();
}
public void methodB(){
this.b.doSomething();
}
}
//子系统A代码
public class SubSystemA{
public void doSomething() {
System.out.println("使用A方法");
}
}
//子系统B代码
public class SubSystemB {
public void doSomething() {
System.out.println("使用B方法");
}
}
//测试主方法
public static void main(String[] args) {
Facede facede = new Facede();
facede.methodA();//使用A方法
facede.methodB();//使用B方法
}
- 输出如下:
总结
- 客户只需要知道外观模式提供界面的使用方法以及内容子系统种类即可
以上
希望对大家有所帮助