了解一下什么是外观模式吧,什么是外观模式呢?举个例子吧,比如共享单车吧,你经常需要骑单车,有ofo小黄车、摩拜单车,还有其它的单车,有很多种类的单车,你又不想在手机上下载这么多的app,那么怎么办呢?于是有人想出可以有把这些单车整合在一起的app,比如万能车app,有了这么一个app,就可以骑所有的共享单车。这样对用户来说就很方便了,如果你还不懂,再举一个例子,比如快高考了,在暑假你想去暑期培训班进行学习,课程有英语,语文,数学,你在报名之前肯定要咨询一下课程问题,你又不想去找每个老师,那你可以找班主任咨询,你咨询语文课程,班主任就从语文老师那里把语文课程信息返回给你,数学、英语也是一样。在这里万能车app和班主任扮演的就是外观,下面来看代码吧。
先创建一个语文老师。
public class Chinese {
public void askChinese(){
System.out.println("咨询语文课程");
}
}
再创建一个数学老师。
public class Method {
public void askMethod(){
System.out.println("咨询数学课程");
}
}
再创建一个英语老师。
public class English {
public void askEnglish(){
System.out.println("咨询英语课程");
}
}
最后创建一个班主任。
public class Teacher {
private Chinese chinese;
private Method method;
private English english;
public Teacher(){
chinese = new Chinese();
method = new Method();
english = new English();
}
public void askTeacher(){
chinese.askChinese();
method.askMethod();
english.askEnglish();
}
}
创建测试类,进行测试。
public class FacdeTest {
public static void main(String[] args) {
Teacher teacher = new Teacher();
teacher.askTeacher();
}
}
请看测试结果:
咨询语文课程
咨询数学课程
咨询英语课程
看到这里你懂了吗?懂了的话,给个赞呗。