描述:客户端仅需通过一个入口即可完成多个子系统的调用,这个入口就是子系统的门面。
场景:学妹学弟开学要注册,缴费和领课本,一般助班都会帮忙把它们弄完,他们只要提供自己的名字即可。
public class Facade {
public static void main(String[] args) {
// 助班可以做为学弟学妹的门面,从而他们不必跑3趟
String name = "徐子珊";
new Zhuban().help(name);
}
}
// 助班, 非常好人,帮每个学弟学妹做了“注册”,“缴费”和“领课本”
class Zhuban {
void help(String name) {
new Zhaoshengban().reg(name);
new Caiwuchu().get(name);
new Jiaowuchu().getBooks(name);
}
}
// 招生办
class Zhaoshengban {
void reg(String name) {
System.out.println(String.format("%s:注册", name));
}
}
//财务处
class Caiwuchu {
void get(String name) {
System.out.println(String.format("%s:缴费", name));
}
}
// 教务处
class Jiaowuchu {
void getBooks(String name) {
System.out.println(String.format("%s:领课本", name));
}
}