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

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

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

    數(shù)據(jù)加載中……
    設(shè)計(jì)模式之Command——電視篇

    大家都知道電視遙控器節(jié)目面板(ProgramPan)是由節(jié)目按鈕組成,通過選擇相應(yīng)的節(jié)目按鈕,就可以切換到相應(yīng)的節(jié)目屏道。

    下來讓我們看看如何實(shí)現(xiàn)通過遙控器按鈕選擇節(jié)目屏道的過程吧。

     

    1、在這里,先定義遙控器按鈕(RemoteControlButton)接口:

    public interface RemoteControlButton {

      public abstract void  selectProgram(); //選擇節(jié)目屏道

    }

    2、再定義遙控器按鈕(RemoteControlButton)接口的實(shí)現(xiàn)類:

    A:卡通節(jié)目按鈕(CartonProgramButton)類:

    public class CartonProgramButton implements RemoteControlButton{

      public void selectProgram() {

        System.out.println("選擇了卡通屏道!");

      }

    }

    B:電視劇節(jié)目按鈕(TvPlanProgramButton)類:

    public class TvPlanProgramButton implements RemoteControlButton {

      public void selectProgram() {

        System.out.println("選擇了電視劇屏道!");

      }

    }

    C:足球節(jié)目按鈕(FootProgramButton)類:

    public class FootProgramButton implements RemoteControlButton {

      public void selectProgram() {

        System.out.println("選擇了足球屏道!");

      }

    }

    3、遙控器節(jié)目面板(ProgramPan)類:用來控制節(jié)目按鈕,顯示節(jié)目

    public class ProgramPan {

      public static List programList() {

        List list = new ArrayList();  //節(jié)目屏道按鈕列表

        list.add(new CartonProgramButton()); //卡通屏道按鈕

        list.add(new TvPlanProgramButton()); //電視劇屏道按鈕

        list.add(new FootProgramButton());   //足球屏道按鈕

        return list;

      }

    }

    4、編寫測試類:

    public class TestCommand {

      public static void main(String[] args) {

        List list = ProgramPan.programList();  //獲得節(jié)目屏道按鈕

        for (Iterator it = list.iterator();it.hasNext();)

          ( (RemoteControlButton) it.next()).selectProgram();  //選擇節(jié)目屏道中對(duì)應(yīng)的節(jié)目

      }

    }

    5、說明:

    ACommand說白了就是通過選擇一個(gè)個(gè)命令,然后執(zhí)行相應(yīng)動(dòng)作。

    BCommand是對(duì)行為進(jìn)行封裝的典型模式,在本例中通過遙控器節(jié)目面板(ProgramPan)這個(gè)封裝類來實(shí)現(xiàn)我們看電視節(jié)目的目的。

    CCommand模式和Facade(外觀)模式似乎比較相似。都是通過封裝類來進(jìn)行訪問的。如何區(qū)分,對(duì)這點(diǎn)我也比較疑惑。

    posted on 2008-02-27 09:21 java flex 結(jié)合 閱讀(706) 評(píng)論(0)  編輯  收藏 所屬分類: pattern


    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 日韩精品无码专区免费播放| 九九免费观看全部免费视频| 国产成人精品免费视频大全麻豆| 亚洲精品一品区二品区三品区| 四虎国产精品成人免费久久| 四虎永久在线精品视频免费观看| 亚洲精品国产高清在线观看| 国产美女无遮挡免费网站| 亚洲爆乳少妇无码激情| 国产在线19禁免费观看| 全部在线播放免费毛片| 伊人久久亚洲综合| 免费看少妇高潮成人片| 亚洲国产精品不卡在线电影| 91视频免费网址| avtt天堂网手机版亚洲| 免费毛片在线播放| 色屁屁www影院免费观看视频| 国内精品99亚洲免费高清| 另类免费视频一区二区在线观看| 亚洲五月激情综合图片区| 色se01短视频永久免费| 国产亚洲精品成人久久网站| 国产亚洲AV夜间福利香蕉149| 久久久久久久岛国免费播放| 亚洲国产精品网站久久| 国产成人青青热久免费精品| 国产精品青草视频免费播放| 91嫩草私人成人亚洲影院| 亚洲免费网站观看视频| 羞羞漫画小舞被黄漫免费| 国产亚洲AV无码AV男人的天堂| 日本最新免费网站| 羞羞漫画页面免费入口欢迎你| 亚洲国产成人精品无码区在线观看| 亚洲免费福利在线视频| 免费无码专区毛片高潮喷水| 亚洲日韩图片专区第1页| 免费观看毛片视频| 国产情侣久久久久aⅴ免费| 亚洲人成欧美中文字幕|