您的位置:首页 > 其它

【设计模式】—— 外观模式Facade

2017-05-22 21:42 387 查看


  模式意图

外观模式主要是为了为一组接口提供一个一致的界面。从而使得复杂的子系统与用户端分离解耦。

有点类似家庭常用的一键开关,只要按一个键,台灯卧室客厅的灯都亮了。虽然他们各有各自的开关,但是对外用一个来控制。




应用场景

1 为复杂系统 提供简单的接口。

2 客户程序与抽象类的实现部分分离。

3 构建层次系统时,用作入口。


模式结构



Facade 对外的统一接口

class Facade{
public void operation(){
subsystemClass1.operation();
subsystemClass2.operation();
}
}

subsystem Class 内部系统的实现类
class subsystemClass1{
public static void operation(){
System.out.println("subsystemClass1 operation()");
}
}
class subsystemClass2{
public static void operation(){
System.out.println("subsystemClass2 operation()");
}
}


代码结构

package com.xingoo.facade;
class Facade{
public void operation(){
subsystemClass1.operation();
subsystemClass2.operation();
}
}

class subsystemClass1{
public static void operation(){
System.out.println("subsystemClass1 operation()");
}
}
class subsystemClass2{
public static void operation(){
System.out.println("subsystemClass2 operation()");
}
}
public class Client {
public static void main(String[] args) {
Facade facade = new Facade();
facade.operation();
}
}

运行结果

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