<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    paulwong

    門面模式 - Facade Pattern

    無門面模式時:
    有門面模式時:

    package pattern.facade;
    /**
     * 門面模式/外觀模式:Facade Pattern
     *
     * 保安系統:
     * 一個保安系統由兩個錄像機、一個感應器和一個報警器組成。
     * 由保安操作儀器的啟動和關閉:沒有使用門面模式時,保安必須親自啟動每個儀器。
     * 
    @version 2009-6-15
     * 
    @author Winty(wintys@gmail.com)
     
    */
    public class FacadeTest{
        
    public static void main(String[] args){
            
    //無門面模式
            Camera camera1,camera2;
            camera1 
    = new Camera();
            camera2 
    = new Camera();
            
            Sensor sensor;
            sensor 
    = new Sensor();

            Alarm alarm;
            alarm 
    = new Alarm();

            
    //啟動儀器
            camera1.turnOn();
            camera2.turnOn();
            sensor.activate();
            alarm.activate();
            System.out.println(
    "");

            
    /////////////////////////////////
            
    //使用門面模式
            SecurityFacade security = new SecurityFacade();
            security.start();
        }
    }

    /**
     * 門面:Facade
     
    */
    class SecurityFacade{
        
    private Camera camera1;
        
    private Camera camera2;
        
    private Sensor sensor;
        
    private Alarm alarm;

        
    public SecurityFacade(){
            camera1 
    = new Camera();
            camera2 
    = new Camera();
            sensor 
    = new Sensor();
            alarm 
    = new Alarm();
        }
        
    //啟動
        public void start(){
            camera1.turnOn();
            camera2.turnOn();
            sensor.activate();
            alarm.activate();
        }

        
    //停止
        public void stop(){
            camera1.turnOff();
            camera2.turnOff();
            sensor.deactivate();
            alarm.deactivate();
        }
    }

    class Camera{
        
    public void turnOn(){
            System.out.println(
    "turn on the Camera.");
        }

        
    public void turnOff(){
            System.out.println(
    "turn off the Camera.");
        }

        
    //轉動
        public void rotate(){
            System.out.println(
    "rotate the Camera.");
        }
    }


    class Sensor{
        
    public void activate(){
            System.out.println(
    "activate the sensor.");
        }

        
    public void deactivate(){
            System.out.println(
    "deactivate the sensor.");
        }

        
    //觸發感應器
        public void trigger(){
            System.out.println(
    "trigger the sensor.");
        }
    }

    class Alarm{
        
    public void activate(){
            System.out.println(
    "activate the alarm.");
        }

        
    public void deactivate(){
            System.out.println(
    "deactivate the alarm.");
        }

        
    //拉響報警器
        public void ring(){
            System.out.println(
    "ring the alarm.");
        }


    運行結果:
    turn on the Camera.
    turn on the Camera.
    activate the sensor.
    activate the alarm.

    turn on the Camera.
    turn on the Camera.
    activate the sensor.
    activate the alarm.

    posted on 2009-06-17 00:00 paulwong 閱讀(390) 評論(0)  編輯  收藏 所屬分類: Design Pattern

    主站蜘蛛池模板: 67194熟妇在线永久免费观看| 亚洲AV无码久久久久网站蜜桃| 日韩一区二区免费视频| 99久热只有精品视频免费看| 一级特黄录像免费播放中文版| 香蕉大伊亚洲人在线观看| 综合自拍亚洲综合图不卡区| 国产亚洲精品AA片在线观看不加载| 免费爱爱的视频太爽了| 久久久久久国产a免费观看黄色大片| 免费黄网站在线观看| 久久久久久国产a免费观看不卡| 国产精品亚洲二区在线| 亚洲中文字幕久久精品无码VA| 亚洲精品美女视频| 亚洲日本精品一区二区| 亚洲AV无码专区国产乱码电影| 中文字幕亚洲无线码| 亚洲色偷拍区另类无码专区| 全部免费a级毛片| 免费一级毛片清高播放| 免费国产怡红院在线观看| 日韩高清免费在线观看| 免费观看理论片毛片| 免费看少妇作爱视频| 成年女人免费视频播放体验区 | 亚洲一区二区精品视频| 一区二区三区在线免费看| 老司机69精品成免费视频| 一级做a毛片免费视频| 成人午夜影视全部免费看| 特级aaaaaaaaa毛片免费视频| 美女被免费网站视频在线| 羞羞视频免费网站日本| 91av免费在线视频| a级成人毛片免费图片| 久久成人免费电影| 最近中文字幕电影大全免费版| 亚洲一区二区三区免费在线观看| 免费黄色福利视频| 搡女人免费视频大全|