外观模式 Facade Pattern

一、什么是外观模式
Facade模式也叫外观模式,是由GoF提出的23种设计模式中的一种。Facade模式为一组具有类似功能的类群,比如类库,子系统等等,提供一个一致的简单的界面。这个一致的简单的界面被称作facade。

二、外观模式的结构



三、外观模式的角色和职责

Facade

为调用方定义简单的调用接口。

Clients

调用者。通过Facade接口调用提供某功能的内部类群。

Packages

功能提供者。指提供功能的类群(模块或子系统)。


SystemA.java
/* 
 * A子系统 
 */ 
public class SystemA { 
    /* 
     * A子系统实现功能 
     */ 
    public void doSomething() { 
        System.out.println("实现A子系统功能"); 
    } 
}
SystemB.java
/* 
 * B子系统 
 */ 
public class SystemB { 
 
    /* 
     * B子系统实现功能 
     */ 
    public void doSomething() { 
        System.out.println("实现B子系统功能"); 
    } 
}
SystemC.java
/* 
 * C子系统 
 */ 
public class SystemC { 
 
    /* 
     * C子系统实现功能 
     */ 
    public void doSomething() { 
        System.out.println("实现C子系统功能"); 
    } 
}

Facade.java
public class Facade { 
    private SystemA systemA; 
    private SystemB systemB; 
    private SystemC systemC; 
 
    public Facade() { 
        systemA = new SystemA(); 
        systemB = new SystemB(); 
        systemC = new SystemC(); 
    } 
 
    public void doABC() { 
        this.systemA.doSomething(); 
        this.systemB.doSomething(); 
        this.systemC.doSomething(); 
    } 
 
    public void doAB() { 
        this.systemA.doSomething(); 
        this.systemB.doSomething(); 
    } 
}
MainClass.java
public class MainClass { 
    public static void main(String[] args) { 
        Facade facade = new Facade(); 
        facade.doABC(); 
    } 
}
MainClass2.java
public class MainClass2 { 
    public static void main(String[] args) { 
        Facade facade = new Facade(); 
        facade.doAB(); 
    } 
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值