1.外观模式概念
它提供了一个统一的接口,用来访问子系统中的一群接口。外观模式定义了一个高层接口,使得子系统更容易使用。
2.外观模式组成
1)子系统类 (Subsystems): 子系统中的一系列类,每个类负责一部分功能。
2)外观类 (Facade): 提供一个简单的接口来访问子系统中的一群接口。
3.举个栗子:
假如我们入住旅社,需要注册处 ===> 登记处 ===》领卡处 这些我们需要自己去跑
但是这个旅社弄了一个在大厅就能办理这些业务的机器,我们就不用跑这么多地方了,直接在这台机器办理就可以了
如下图
4.代码实现
1)注册处
package org.xiji.facade;
/**
* 注册
*/
public class Register {
public void register(String name)
{
System.out.println("注册成功,欢迎" + name + "加入我们");
}
}
2)登记处
package org.xiji.facade;
/**
* 登记
*/
public class Registration {
//登记
public void register(String name)
{
System.out.println(name+":登记成功");
}
}
3)领卡处
package org.xiji.facade;
/**
* 领卡
*/
public class GetTheCard {
public void getTheCard(String name)
{
System.out.println(name+":领卡成功");
}
}
4)前台机器
package org.xiji.facade;
/**
* 外观类
*/
public class Facade {
Register register = new Register();
GetTheCard getTheCard = new GetTheCard();
Registration registration = new Registration();
public void facade(String name)
{
register.register(name);
registration.register(name);
getTheCard.getTheCard(name);
}
}
5)客户类
package org.xiji.facade;
/**
* 外观测试类
*/
public class FacadeMain {
public static void main(String[] args) {
//用户小久
String name = "小久";
Facade facade = new Facade();
facade.facade(name);
}
}