外观模式(Facade)

  1. 定义
    外部与一个子系统的通信必须通过一个统一的外观对象进行,为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。外观模式又称为门面模式,它是一种对象结构型模式。

  2. 类图


    外观模式(Facade)_第1张图片
    Facade.jpg
  3. 例子

/* Complex parts */

class CPU {
    public void freeze() { ... }
    public void jump(long position) { ... }
    public void execute() { ... }
}

class Memory {
    public void load(long position, byte[] data) {
        ...
    }
}

class HardDrive {
    public byte[] read(long lba, int size) {
        ...
    }
}

/* Facade */

class Computer {
    public void startComputer() {
        cpu.freeze();
        memory.load(BOOT_ADDRESS, hardDrive.read(BOOT_SECTOR, SECTOR_SIZE));
        cpu.jump(BOOT_ADDRESS);
        cpu.execute();
    }
}

/* Client */

class You {
    public static void main(String[] args) {
        Computer facade = new Computer();
        facade.startComputer();
    }
}

补充
Easy to use, hard to control.

你可能感兴趣的:(外观模式(Facade))