1. 程式人生 > >Java 設計模式 之 門面模式

Java 設計模式 之 門面模式

RR pla acad cad www. imp inter vat nts

http://www.verejava.com/?id=16999102164568

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("顯示高山流水視頻");
        
    }

}

http://www.verejava.com/?id=16999102164568

Java 設計模式 之 門面模式