所谓门面就是对外是一致的样式,具体一点就是为子系统中的一组接口提供一个一致的界面。
举例来说,我们衣服有好几种颜色,鞋子也有好几种颜色,我们可以随机搭配,但我们不需要自己去一件一件的挑衣服搭配,我们只需要事先告诉告诉冠军我们今天要什么衣服搭配什么鞋子,到时候统一和管家说一下就可以了
来看代码,这个模式也很简单。
//=========BlackDress.java==========
public class BlackDress {
public void on(){
System.out.println("黑色的上衣");
}
}
//=========RedDress.java==========
public class RedDress{
public void on(){
System.out.println("红色的上衣");
}
}
//=========WhiteShoes.java==========
public class WhiteShoes{
public void on(){
System.out.println("白色的鞋子");
}
}
//=========BlueShoes.java==========
public class BlueShoes{
public void on(){
System.out.println("蓝色的鞋子");
}
}
//=========Facade.java==========
public class Facade {
private BlackDress blackDress;
private BlueShoes blueShoes;
private RedDress redDress;
private WhiteShoes whiteShoes;
public Facade(){
blackDress=new BlackDress();
blueShoes=new BlueShoes();
redDress=new RedDress();
whiteShoes=new WhiteShoes();
}
public void MathchOne(){
System.out.println("穿衣搭配如下:");
blackDress.on();
whiteShoes.on();
}
public void MathchTow(){
System.out.println("穿衣搭配如下:");
redDress.on();
whiteShoes.on();
}
}
//=========MainTest.java==========
public static void main(String[] args) {
Facade facade=new Facade();
facade.MathchOne();
System.out.println();
facade.MathchTow();
}
结果如下:
穿衣搭配如下:
黑色的上衣
白色的鞋子
穿衣搭配如下:
红色的上衣
白色的鞋子