您的位置:首页 > 其它

设计模式之外观模式

2017-04-28 11:23 375 查看
概述:为子系统中的一组接口提供一个一致的界面,Facade模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

角色;

Facade 知道哪些子系统类负责处理请求。 将客户的请求代理给适当的子系统对象

Subsystemclasses 实现子系统的功能。 处理由Facade对象指派的任务。

没有facade的任何相关信息;即没有指向facade的指针

类图:



实现:

首先是两个接口:

interface ServiceA {
void methodA();
}


interface ServiceB {
void methodB();
}


其次是两个接口的实现:

public class ServiceImplA implements ServiceA {
public void methodA() {
System.out.println("AAAAA");
}
}


public class ServiceImplB implements ServiceB {
public void methodB() {
System.out.println("BBBBBBB");
}
}


然后是外观模式具体类:

public class Facade {
ServiceA sa;
ServiceB sb;

public Facade() {
sa = new ServiceImplA();
sb = new ServiceImplB();
}

public void methodA() {
sa.methodA();
}

public void methodB() {
sb.methodB();
}
}


测试:

public static void main(String[] args) {
Facade f = new Facade();
f.methodA();
}


打印:

AAAAA
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息