`

外观模式

阅读更多



 外观模式(又称门面模式)是软件工程中常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高层接口。使用子系统更容易使用。

 

结构

  Facade

  这个外观类为子系统中Packages 1、2、3提供一个共同的对外接口

  Clients

  客户对象通过一个外观接口读写子系统中各接口的数据资源。

  Packages

  客户可以通过外观接口读取的内部库。

 

 

示例

  Java

  这是一个抽象的示例。一个客户“you”通过外观接口“computer”获取计算机内部复杂的系统信息。

  /* 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) {

  ...

  }

  }

 

  /* Façade */

  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();

  }

  }

 

注意和其他设计模式的区别

 

代理模式
1 代理模式中的原类和代理类继承同一父类;
2 原类对象与代理类对象接口相同,功能一致;
3 起到了隐藏原类的作用。

适配器模式
1 只有适配器继承目标接口;
2 将原有类接口转换为目标代码需求的接口。

外观模式
是多个类的集成、统一适配。

 

  • 大小: 10.8 KB
分享到:
评论
1 楼 1927105 2011-08-11  
学习了,和百度百科雷同度80%。。。。

相关推荐

Global site tag (gtag.js) - Google Analytics