结构型模式之五:门面模式
结构型模式之五:门面模式
刀狂剑痴 发表于2年前
结构型模式之五:门面模式
  • 发表于 2年前
  • 阅读 19
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

门面模式隐藏了一个任务的复杂性,提供吧一个简单的接口,一个很好的例子是电脑的启动,当一个电脑启动,他涉及CPU,内存,硬盘等等,为了使他对用户简单,我们添加一个门面来包裹这个任务的复杂性,并提供一个简单的接口代替。

1、门面模式的类图

2、Java门面模式的例子

//the components of a computer
class CPU {
  public void processData() { }
}
 
class Memory {
  public void load() { }
}
 
class HardDrive {
  public void readdata() { }
}
 
/* Facade */
class Computer {
  private CPU cpu;
  private Memory memory;
  private HardDrive hardDrive;
 
  public Computer() {
    this.cpu = new CPU();
    this.memory = new Memory();
    this.hardDrive = new HardDrive();
  }
 
  public void run() {
    cpu.processData();
    memory.load();
    hardDrive.readdata();
  }
}
 
 
class User {
  public static void main(String[] args) {
    Computer computer = new Computer();
    computer.run();
  }
}

3、实际项目中的例子

在javax.faces.context中,ExternalContext内部使用ServletContext, HttpSession, HttpServletRequest, HttpServletResponse等等,他允许接口api自然地访问他们包含的应用变量。 

以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-facade/

共有 人打赏支持
粉丝 18
博文 111
码字总数 82582
×
刀狂剑痴
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: