<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 閱讀(391) 評論(0)  編輯  收藏 所屬分類: Design Pattern

    主站蜘蛛池模板: 成人在线视频免费| 久久久久久久久久国产精品免费| 日韩精品无码区免费专区| 五月天婷婷精品免费视频| 亚洲国产综合专区电影在线 | 亚洲人成人无码网www电影首页| 色婷婷精品免费视频| 亚洲中文字幕在线观看| 成人免费视频77777| 成人一区二区免费视频| 日韩va亚洲va欧洲va国产| 日韩免费精品视频| A级毛片成人网站免费看| 亚洲欧美日韩综合久久久| 亚洲av无码专区在线播放| 亚洲精品黄色视频在线观看免费资源| 免费观看无遮挡www的视频| 美女被免费网站91色| 免费无码av片在线观看| 深夜久久AAAAA级毛片免费看| 一级毛片免费视频网站| 亚洲色欲色欱wwW在线| 亚洲欧洲日产国码www| 久久久久久久尹人综合网亚洲 | 成视频年人黄网站免费视频| 成人在线免费观看| 亚洲国产成人VA在线观看| 国产精品成人免费一区二区| 国产免费人成视频在线观看| 午夜性色一区二区三区免费不卡视频| 18禁成年无码免费网站无遮挡| 国产成人在线免费观看| 免费无码又黄又爽又刺激| 免费一看一级毛片| 国产无遮挡又黄又爽免费视频| 久久影院亚洲一区| 日韩免费视频播播| 搡女人免费视频大全| 亚洲午夜精品第一区二区8050| 亚洲美日韩Av中文字幕无码久久久妻妇| 亚洲一区AV无码少妇电影☆|