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

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

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

    隨筆 - 117  文章 - 72  trackbacks - 0

    聲明:原創作品(標有[原]字樣)轉載時請注明出處,謝謝。

    常用鏈接

    常用設置
    常用軟件
    常用命令
     

    訂閱

    訂閱

    留言簿(7)

    隨筆分類(130)

    隨筆檔案(123)

    搜索

    •  

    積分與排名

    • 積分 - 155679
    • 排名 - 391

    最新評論

    [關鍵字]:java,design pattern,設計模式,《Java與模式》學習,門面模式,外觀模式,Facade Pattern
    [環境]:StarUML5.0 + JDK6
    [作者]:Winty (wintys@gmail.com) http://m.tkk7.com/wintys/
    [正文]:

    無門面模式時:

    有門面模式時:


    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-15 17:15 天堂露珠 閱讀(1177) 評論(2)  編輯  收藏 所屬分類: Pattern

    FeedBack:
    # re: [原]門面模式 2009-06-17 12:31 心夢帆影
    支持一下!
    想請教你一個問題:
    這些Java代碼是自己寫的還是由StartUML根據UML圖生成的?  回復  更多評論
      
    # re: [原]門面模式 2009-06-17 17:59 天堂露珠
    @心夢帆影
    可以生成部分代碼,但是我沒有使用自動生成。  回復  更多評論
      
    主站蜘蛛池模板: 在线精品亚洲一区二区三区| 成年在线观看免费人视频草莓| 免费国产美女爽到喷出水来视频| 亚洲H在线播放在线观看H| 精品无码无人网站免费视频| 77777_亚洲午夜久久多人| 午夜精品射精入后重之免费观看| 亚洲Av永久无码精品三区在线| 国产午夜无码精品免费看| 亚洲伦理一区二区| 中文字幕在线免费观看| 精品久久亚洲中文无码| 日韩电影免费在线| 特级毛片全部免费播放a一级| 亚洲人成无码网WWW| APP在线免费观看视频| 亚洲黄色免费网址| 成人免费毛片内射美女APP| 久久人午夜亚洲精品无码区| 亚洲欧洲久久久精品| 免费无码又爽又刺激网站直播| 亚洲日韩区在线电影| 毛片免费全部免费观看| 国产成人综合亚洲| 亚洲av伊人久久综合密臀性色| 亚洲精品视频在线免费| 日本亚洲欧美色视频在线播放 | 国产va免费精品观看精品| 亚洲欧洲无码一区二区三区| 又黄又爽一线毛片免费观看| a级毛片免费观看视频| 亚洲国产日韩在线| 亚洲高清视频一视频二视频三| 另类免费视频一区二区在线观看| 亚洲国产精品人久久电影| 免费一级特黄特色大片在线观看| 免费无码黄网站在线看| 亚洲欧美自偷自拍另类视| 亚洲成AV人片在线观看| 成人免费无码大片a毛片软件| 亚洲精品国产日韩无码AV永久免费网|