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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值