门面模式是把几个内部系统统一封装为一个接口,外部只需要调用这个接口就可以访问内部系统了。类似傻瓜相机,只需要按快门就自动实现对焦,调光之类。用户不需要了解内部是如何运行的。
门面模式代码框架
首先定义内部子系统的类
定义这个门面类,
属性是各个子系统类名和访问后需要实现的方法
定义一个构造方法,把各个子系统的对象建立起来
最后定义一个方法,外界通过这个方法调用各个子系统
package Facade;
import java.util.*;
class VegVendor
{
public void purchase()
{
System.out.println("供应蔬菜");
}
}
//定义厨师
class Cooker{
public void cook()
{
System.out.println("厨师进行烹饪");
}
}
//定义服务员
class Waiter{
public void serve()
{
System.out.println("服务员端菜");
}
}
//定义门面类
public class Facade1 {
private VegVendor gongyingshang;
private Cooker liumaoxing;
private Waiter xielu;
public Facade1()
{
//在构造方法里面新建各个子系统类的对象
this.gongyingshang = new VegVendor();
this.liumaoxing = new Cooker();
this.xielu = new Waiter();
}
public void order()
{
gongyingshang.purchase();
liumaoxing.cook();
xielu.serve();
}
public static void main(String[] args) {
Facade1 test = new Facade1();
test.order();
}
}