您的位置:首页 > 其它

设计模式学习笔记二十五:门面模式

2015-09-15 00:42 375 查看

动机

门面(FACADE)模式 也叫外观模式,属于对象结构型模式。它主要用来将子系统的一系列调用封装成高层次的接口。

回忆

参加接触的第一个模式就是这个模式,第一次从大牛嘴里听说这个模式,云里雾里,高深莫测。几年后回首,默默微笑,无语。当觉得自己有点厉害了,今天却发现依然很菜,永远有不会的东西。

UML结构图:



代码实现

1.子系统接口:

public class ServiceOne {
public void doSmth() {
System.out.println("ServiceOne do something...");
}
}

public class ServiceOne {
public void doSmth() {
System.out.println("ServiceOne do something...");
}
}

2.抽象后的接口

public class FacadeService {
public void doSmth() {
ServiceOne one = new ServiceOne();
ServiceTwo two = new ServiceTwo();
one.doSmth();
two.doSmth();
}
}

3.调用,即Client:

public class Run {
public static void main(String[] args) {
// 不使用facade模式
doWithOutFacade();
System.out.println("--------");
// 使用facade模式
doWithFacade();
}

private static void doWithFacade() {
FacadeService facade = new FacadeService();
facade.doSmth();
}

private static void doWithOutFacade() {
ServiceOne one = new ServiceOne();
one.doSmth();
ServiceTwo two = new ServiceTwo();
two.doSmth();
}

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