Java 设计模式 之 门面模式

package com.facade.theory;

public class TestFacade
{
	public static void main(String[] args)
	{
		Facade facade=new Facade();
		facade.sing();
		facade.dance();
		facade.act();
	}
}






package com.facade.theory;

public class Facade
{
	private Light light;
	private Music music;
	private Video video;
	
	public Facade()
	{
		light=new LightImpl();
		music=new MusicImpl();
		video=new VideoImpl();
	}
	
	public void sing()
	{
		System.out.println("开始演唱  伴随");
		light.flash();
		music.play();
	}
	
	public void dance()
	{
		System.out.println("开始跳舞  伴随");
		light.flash();
		music.play();
		video.show();
	}
	
	public void act()
	{
		System.out.println("开始小品 伴随");
		light.flash();
		video.show();
	}
	
}






package com.facade.theory;

public interface Light
{
	public void flash();
}






package com.facade.theory;

public class LightImpl implements Light
{

	@Override
	public void flash()
	{
		System.out.println("闪彩灯");
	}

}






package com.facade.theory;

public interface Music
{
	public void play();
}






package com.facade.theory;

public class MusicImpl implements Music
{

	@Override
	public void play()
	{
		System.out.println("播放古典音乐");
		
	}

}







package com.facade.theory;

public interface Video
{
	public void show();
}







package com.facade.theory;

public class VideoImpl implements Video
{

	@Override
	public void show()
	{
		System.out.println("显示高山流水视频");
		
	}

}



至简 VereMVC 框架


至简 Java


设计模式 Java 实战


剖析 Java 并发编程


Java 深入浅出 数据结构算法


Java NIO 精髓实战


Java JVM 虚拟机 代码与图解


至简 SQL 基础 MySQL


至简 SQL Oracle


透析 JDBC


至简 Java Web 案例驱动


至简框架 Java


Java 集群架构实战


至简 HTML CSS JavaScript


集合 XML JSON 解析互换原理


Android 循序渐进 实战


至简 Python


Python 设计模式


Python 深入浅出 数据结构算法


至简 Python VereWeb 案例驱动

Java 设计模式 之 门面模式