设计模式之Facade(外观)模式

简介:

我们通过一个简单的开关电脑模拟程序来说明Facade模式(外观模式)


CPU类

public class Cpu
{
 public void start()
 {
  system.out.print("CPU启动");
 }

 public void stop()
 {
  system.out.print("CPU关闭");
 }

}

 

电脑风扇类

public class Fan
{
 public void start()
 {
  system.out.print("风扇启动");
 }

 public void stop()
 {
  system.out.print("风扇关闭");
 }

}

 

电脑外观类

public class ComputerFacade
{
 Cpu cpu = null;
 Fan fan = null;

 public ComputerFacade()
 {
  cpu = new Cpu();
  fan = new Fan();
 }

 public void open()
 {
  cpu.start();
  fan.start(); 
 }

 public void close()
 {
  cpu.stop();
  fan.stop(); 
 }

}


可以想象,开电脑的时候我们不管Cpu如何启动,风扇如何启动,只要按一下开关就行了。

 

来看一下外观模式的定义

将原来分散在源码中的类/结构及方法重新组合,形成新的、统一的接口,供上层应用使用。这在某种意义上与Adapter及Proxy有类似之处,但是,Proxy(代理)注重在为Client-Subject提供一个访问的中间层,如CORBA可为应用程序提供透明访问支持,使应用程序无需去考虑平台及网络造成的差异及其它诸多技术细节;Adapter(适配器)注重对接口的转换与调整;而Facade所面对的往往是多个类或其它程序单元,通过重新组合各类及程序单元,对外提供统一的接口/界面。

 

参考地址:http://baike.baidu.com/view/2960561.htm

本文转自IT徐胖子的专栏博客51CTO博客,原文链接http://blog.51cto.com/woshixy/1012070如需转载请自行联系原作者


woshixuye111

相关文章
|
5天前
|
设计模式 JavaScript 前端开发
js设计模式【详解】—— 构造函数模式
js设计模式【详解】—— 构造函数模式
15 6
|
11天前
|
设计模式 存储 算法
设计模式学习心得之五种创建者模式(2)
设计模式学习心得之五种创建者模式(2)
14 2
|
11天前
|
设计模式 搜索推荐
工厂方法模式-大话设计模式
工厂方法模式-大话设计模式
9 1
|
16天前
|
设计模式 Java 数据库连接
Java设计模式之工厂方法模式详解
Java设计模式之工厂方法模式详解
|
16天前
|
设计模式 算法
行为型设计模式之模板模式
行为型设计模式之模板模式
|
29天前
|
设计模式 新零售 Java
设计模式最佳套路5 —— 愉快地使用工厂方法模式
工厂模式一般配合策略模式一起使用,当系统中有多种产品(策略),且每种产品有多个实例时,此时适合使用工厂模式:每种产品对应的工厂提供该产品不同实例的创建功能,从而避免调用方和产品创建逻辑的耦合,完美符合迪米特法则(最少知道原则)。
39 6
|
9天前
|
设计模式 存储 SQL
设计模式——结构型模式(适配器,桥接,过滤器,组合,装饰器,外观,享元,代理)(2)
设计模式——结构型模式(适配器,桥接,过滤器,组合,装饰器,外观,享元,代理)
|
9天前
|
设计模式 存储 前端开发
设计模式——结构型模式(适配器,桥接,过滤器,组合,装饰器,外观,享元,代理)(1)
设计模式——结构型模式(适配器,桥接,过滤器,组合,装饰器,外观,享元,代理)
|
11天前
|
设计模式 安全 Java
设计模式学习心得之五种创建者模式(1)
设计模式学习心得之五种创建者模式(1)
7 0
|
11天前
|
设计模式
简单工厂模式-大话设计模式
简单工厂模式-大话设计模式
8 0