设计模式之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

 

 

目录
相关文章
|
7月前
|
设计模式 Java 应用服务中间件
设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
设计模式 -结构型模式_门面模式(外观模式) Facade Pattern 在开源软件中的应用
62 1
|
6月前
|
设计模式
外观模式-大话设计模式
外观模式-大话设计模式
|
设计模式 Java
设计模式~门面(外观)模式(Facade)-08
目录 (1)优点 (2)缺点 (3)使用场景 (4)注意事项: (5)应用实例: (6)源码中的经典应用 代码 外观模式(Fac
57 0
|
设计模式
外观设计模式解读
外观设计模式解读
|
机器学习/深度学习 设计模式 缓存
设计模式——单一职责模式之装饰模式
在软件组件的设计中,如果责任划分的不清晰,使用继承得到的结果往往是随着需求的变化,子类急剧膨胀,同时充斥着重复代码,这时候的关键是划清责任。
65 0
|
设计模式 Java 调度
23种设计模式-关系模式-中介者模式(二十二)
23种设计模式-关系模式-中介者模式(二十二)
23种设计模式-关系模式-中介者模式(二十二)
|
设计模式
外观/门面模式(Facade)
外观/门面模式(Facade)
|
设计模式 中间件
【设计模式】外观
【设计模式】外观
119 0
【设计模式】外观
|
设计模式
设计模式- Facade门面模式和Mediator调停者模式
设计模式- Facade门面模式和Mediator调停者模式
|
设计模式 存储 Dart
dart设计模式之外观,享元,代理模式
模式分析 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。
140 0