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

    搜索

    •  

    積分與排名

    • 積分 - 155743
    • 排名 - 390

    最新評論

    [關鍵字]:java,design pattern,設計模式,《Java與模式》,state pattern,狀態模式
    [環境]:StarUML5.0 + JDK6
    [作者]:Winty (wintys@gmail.com)
    [正文]:
      人的狀態變化:

      狀態模式類圖:

    /**
     * 狀態模式:state pattern
     *
     * 不使用狀態模式時,代碼可能會是這樣:
     * if (state.equals("awake")){
     *        System.out.println("awake:工作.");
     * }
     * else if(state.equals("asleep")){
     *        System.out.println("asleep:做夢.");
     * }
     * else ...
     *
     * @version 2009-5-18
     * @author Winty(wintys@gmail.com)
     */
    public class StateTest{
        public static void main(String[] args){
            Person person = new Person();

            person.doAction();

            person.setState(new Asleep());
            person.doAction();
        }
    }

    /**
     *環境:Context
     */
    class Person{
        private State state = new Awake();

        public void setState(State state){
            this.state = state;
        }

        public void doAction(){
            state.doAction();
        }
    }

    /**
     *抽象狀態:State
     */
    interface State{
        public void doAction();
    }

    /**
     *具體狀態
     */
    class Awake implements State{
        public void doAction(){
            System.out.println("awake:工作.");
        }
    }

    /**
     *具體狀態
     */
    class Asleep implements State{
        public void doAction(){
            System.out.println("asleep:做夢.");
        }
    }
    posted on 2009-05-18 23:03 天堂露珠 閱讀(1199) 評論(1)  編輯  收藏 所屬分類: Pattern

    FeedBack:
    # re: [原]狀態模式 2009-05-19 12:08 xx
    狀態模式 充分體現了開閉原則

    如果有新的狀態加入 不需要修改Person類



    congdepeng@hotmail.com  回復  更多評論
      
    主站蜘蛛池模板: 曰批全过程免费视频播放网站| yellow视频免费在线观看| 日韩视频免费一区二区三区| 亚洲精品97久久中文字幕无码| 亚洲日韩av无码中文| 成人免费福利电影| 国产精品亚洲片在线| 三年在线观看免费观看完整版中文| 亚洲伊人久久综合中文成人网| 亚洲欧洲精品一区二区三区| 蜜桃视频在线观看免费视频网站WWW| 亚洲AV永久无码精品| 91麻豆国产免费观看| 亚洲国产成人手机在线电影bd| 一个人看的www在线观看免费| 亚洲色精品三区二区一区| 日本卡1卡2卡三卡免费| 亚洲黄黄黄网站在线观看| 三级黄色在线免费观看| 亚洲精选在线观看| 亚洲AV色无码乱码在线观看| 国产一级特黄高清免费大片| 一本到卡二卡三卡免费高| 亚洲国产另类久久久精品 | 一区二区三区免费电影| 亚洲国产成人一区二区三区| 国产免费爽爽视频在线观看 | 免费福利网站在线观看| 亚洲精品一卡2卡3卡四卡乱码| 四虎永久免费影院| 91视频免费观看高清观看完整| 免费人妻av无码专区| 人妻在线日韩免费视频| 国产亚洲真人做受在线观看| 免费精品无码AV片在线观看| 中文字幕乱码亚洲无线三区| 国产成人无码免费看视频软件| 日韩色视频一区二区三区亚洲| 国产亚洲精久久久久久无码77777| 精品无码人妻一区二区免费蜜桃| 亚洲国产区男人本色|