Java設計模式-外觀模式

一、概述

外觀模式(Facade),也叫過程模式門面模式,屬於結構型模式,外觀模式爲子系統中的一組接口提供一個一致的界面,此模式定義了一個高層接口,這個接口使得這一子系統更加容易使用。

外觀模式通過定義一個一致的接口,用於屏蔽內部子系統的細節,使得調用端只需跟這個接口發生調用,而無需關心這個子系統的內部細節。

二、角色

外觀角色(Facade): 客戶端通過操作外觀角色從而達到控制子系統角色的目的,對於客戶端來說,外觀角色好比一道屏障,對客戶端屏蔽了子系統的具體實現

子系統角色(SubSystem):表示一個系統的子系統或模塊

三、外觀模式

1.子系統角色

class CPU {

    public void on() {
        System.out.println("CPU on...");
    }

    public void off() {
        System.out.println("CPU off...");
    }
}

class Disk {

    public void on() {
        System.out.println("Disk on...");
    }

    public void off() {
        System.out.println("Disk off...");
    }
}

class Memory {

    public void on() {
        System.out.println("Memory on...");
    }

    public void off() {
        System.out.println("Memory off...");
    }
}

2.外觀角色

public class ComputerFacade {
    private CPU cpu;
    private Memory memory;
    private Disk disk;

    public ComputerFacade() {
        cpu = new CPU();
        memory = new Memory();
        disk = new Disk();
    }

    public void on() {
        cpu.on();
        memory.on();
        disk.on();
    }

    public void off() {
        cpu.off();
        memory.off();
        disk.off();
    }
}

3.使用

@Test
public void testFacade() {
    ComputerFacade computer = new ComputerFacade();
    computer.on();
    computer.off();
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章