设计模式-外观模式

40 阅读1分钟

# 外观模式

1.简介

外观模式是一种结构性设计模式,能为程序库、框架或者其他复杂的类提供一个简单的接口。

外观类提供了一个统一的接口,用来访问子系统中的一些接口。更方便客户的使用,其实就是一系列的操作封装到了一起。

2.UML图

外观模式UML.jpg

3.代码

 public class HomeTheaterFacade
{
	private Computer computer;
	private Player player;
	private Light light;
	private Projector projector;
	private PopcornPopper popper;
 
	public HomeTheaterFacade(Computer computer, Player player, Light light, Projector projector, PopcornPopper popper)
	{
		this.computer = computer;
		this.player = player;
		this.light = light;
		this.projector = projector;
		this.popper = popper;
	}
 
	public void watchMovie()
	{
		/**
		 *  1、打开爆米花机
			2、制作爆米花
			3、将灯光调暗
			4、打开投影仪
			5、放下投影仪投影区
			6、打开电脑
			7、打开播放器
			8、将播放器音调设为环绕立体声
		 */
		popper.on();
		popper.makePopcorn();
		light.down();
		projector.on();
		projector.open();
		computer.on();
		player.on();
		player.make3DListener();
	}
	
	public void stopMovie()
	{
		popper.off();
		popper.stopMakePopcorn();
		light.up();
		projector.close();
		projector.off();
		player.off();
		computer.off();
	}
}

4.总结

这个模式相对来说比较简单,其实就是封装一系列的其他对象的方法,来使得操作更加简单,同时使被操作的对象无感知。

参考文章:

refactoringguru.cn/design-patt…

blog.csdn.net/lmj62356579…