<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é)目按鈕組成,通過(guò)選擇相應(yīng)的節(jié)目按鈕,就可以切換到相應(yīng)的節(jié)目屏道。

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

     

    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)類:用來(lái)控制節(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、編寫(xiě)測(cè)試類:

    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、說(shuō)明:

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

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

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

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


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


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲Av永久无码精品黑人| 亚洲第一页在线播放| 粉色视频免费入口| 特级淫片国产免费高清视频| 国产亚洲国产bv网站在线| 成年性生交大片免费看| 亚洲GV天堂无码男同在线观看| 午夜免费福利在线| 黄色a三级三级三级免费看| 亚洲国产91精品无码专区| 免费高清A级毛片在线播放| 亚洲日韩在线中文字幕第一页| 成人特级毛片69免费观看| 在线亚洲精品自拍| 美女内射无套日韩免费播放 | 亚洲国产成人精品无码区在线秒播 | 国产免费久久精品丫丫| 国产成人亚洲综合无码精品| 免费A级毛片无码视频| 亚洲成a人片在线观看精品| 日韩视频免费在线| 三年片在线观看免费观看大全中国 | 免费一区二区无码东京热| 亚洲国产精品人久久| 国产又黄又爽又猛免费app| 亚洲精品乱码久久久久久V| 亚洲成a人在线看天堂无码| 久久久精品国产亚洲成人满18免费网站 | 亚洲一级毛片免费观看| 自拍日韩亚洲一区在线| 亚洲电影日韩精品| 久久久久国产精品免费看| 亚洲午夜精品久久久久久app| 亚洲Av无码国产情品久久| 久久精品视频免费播放| 亚洲AV无码一区二区三区性色| 亚洲日韩精品A∨片无码| 在线看免费观看AV深夜影院 | 亚洲国产一区国产亚洲| 免费特级黄毛片在线成人观看| 在线看片免费人成视频久网下载 |