<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)

    搜索

    •  

    積分與排名

    • 積分 - 155669
    • 排名 - 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 天堂露珠
    @心夢帆影
    可以生成部分代碼,但是我沒有使用自動生成。  回復  更多評論
      
    主站蜘蛛池模板: 亚洲AV永久无码精品网站在线观看| 久久亚洲私人国产精品vA| 亚洲国产成人久久精品大牛影视| 99久久人妻精品免费一区| 亚洲高清国产AV拍精品青青草原| 日韩在线观看免费完整版视频| 亚洲AV中文无码乱人伦| 曰批免费视频播放在线看片二| 一本久久综合亚洲鲁鲁五月天| 免费人成动漫在线播放r18| 国内精品99亚洲免费高清| 美女巨胸喷奶水视频www免费| 亚洲免费人成在线视频观看| 精品国产一区二区三区免费| 亚洲综合成人网在线观看| 久久福利资源网站免费看| 亚洲日韩国产欧美一区二区三区| 免费看美女让人桶尿口| 黄页免费视频播放在线播放| 国产成人亚洲精品91专区手机 | 亚洲一本一道一区二区三区| 浮力影院第一页小视频国产在线观看免费| 亚洲中文无码永久免| 伊人久久亚洲综合影院| 久久国产乱子精品免费女| 亚洲美女视频一区| 日韩精品免费电影| 好湿好大好紧好爽免费视频| 亚洲伊人久久大香线蕉苏妲己| 91视频国产免费| 国产亚洲女在线线精品| 亚洲大尺度无码无码专区| 波多野结衣免费在线观看| 亚洲精品乱码久久久久久V| 精品亚洲成α人无码成α在线观看 | 成人无码WWW免费视频| 亚洲电影唐人社一区二区| 国产成人免费片在线视频观看| 成人av片无码免费天天看| 亚洲成年人电影网站| 免费女人18毛片a级毛片视频|