• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            eXile 的專欄

            TDD for GUI

             

            兩個(gè)原則:
                 1)MVP模式:Model - View - Presenter 
                 2)  Presenter 優(yōu)先原則

            一)  MVP模式

            MVP是MVC(Model-View-Controller)的變種。

                  基本模式:View ←← Presenter →→ Model

                  事件通知:View →→ Presenter ←← Model

                 View:GUI界面布局;對Model和Presenter一無所知;代碼比較簡單,不含任何邏輯處理;

                 Model:進(jìn)行邏輯處理;對View和Presenter一無所知;提供狀態(tài)和公共方法;當(dāng)狀態(tài)變化時(shí)觸發(fā)事件;

                 Presenter:控制用戶處理流程;除了構(gòu)造函數(shù)沒有公共方法,無狀態(tài);一個(gè)窗體對對應(yīng)一個(gè)Presenter;向Model和View訂閱事件,對于View可應(yīng)用EventFilter來過濾多余事件。

            說明: 事件機(jī)制是實(shí)現(xiàn)MVP松耦合的關(guān)鍵。


            二)Presenter 優(yōu)先流程

             1. 創(chuàng)建用戶事例;

             2. 創(chuàng)建Presenter,利用Model和View的Mock或stub來實(shí)現(xiàn)用戶事例;

             3. 創(chuàng)建Model;

             4. 創(chuàng)建View。

             

            TDD流程:

            1.  創(chuàng)建 Presenter stub類, 在構(gòu)造器中帶有兩個(gè)參數(shù):Model接口和View接口;

            2.  創(chuàng)建Model接口和View接口的Mock 測試對象

            3.  對所有用戶事例:

                 a) 分析用戶事例對于View的影響,添加View接口支持;

                 b) 分析用戶事例對于Model的影響,添加Model接口支持;

                c)  對于新的接口方法添加Mock對象支持;

                d)  TDD循環(huán):

                                  i. 寫出一個(gè)對于Presenter的測試,通過View或Model的事件或動(dòng)作來驅(qū)動(dòng)應(yīng)用處理;

                                  ii. 對于Model的狀態(tài)和View的狀態(tài)進(jìn)行Assertion判定;

                                 iii. 實(shí)現(xiàn)Presenter的私有方法

                                 iv. 測試通過。

            4.      創(chuàng)建一個(gè)最小化的用戶界面實(shí)現(xiàn)。

             

            本文根據(jù)http://download.microsoft.com/download/c/3/d/c3d745d1-c081-4021-aa2c-5839c6ea3380/DVL354.ppt 整理而成。轉(zhuǎn)載請表明原貼地址。 http://m.shnenglu.com/eXile/

             

            posted on 2009-06-22 13:15 eXile 閱讀(2159) 評論(0)  編輯 收藏 引用 所屬分類: 編程與設(shè)計(jì)

            導(dǎo)航

            <2007年10月>
            30123456
            78910111213
            14151617181920
            21222324252627
            28293031123
            45678910

            統(tǒng)計(jì)

            常用鏈接

            留言簿(18)

            隨筆分類

            隨筆檔案

            服務(wù)器編程

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            国产成人精品久久免费动漫| 国产高清美女一级a毛片久久w| 亚洲成av人片不卡无码久久| 国产亚洲精品久久久久秋霞| 国产综合久久久久久鬼色| 国产精品久久永久免费| 日产久久强奸免费的看| 欧美噜噜久久久XXX| 国产精品综合久久第一页| 色婷婷综合久久久久中文 | 久久精品国产亚洲欧美| 久久久久国产视频电影| 精品国际久久久久999波多野| 国产精品热久久无码av| 久久精品无码午夜福利理论片| 久久99热这里只有精品国产| 久久成人国产精品| 久久久久亚洲AV无码观看| 久久久人妻精品无码一区 | 日韩人妻无码一区二区三区久久 | 91精品国产综合久久精品| 久久99热这里只频精品6| 国产精自产拍久久久久久蜜| 狠狠色丁香婷婷久久综合不卡| 亚洲精品国产字幕久久不卡| 亚洲国产精品无码久久九九| 成人午夜精品久久久久久久小说| 久久久亚洲欧洲日产国码二区| 久久WWW免费人成一看片| 亚洲第一永久AV网站久久精品男人的天堂AV | 久久久综合香蕉尹人综合网| 久久99热狠狠色精品一区| 99久久精品国产高清一区二区| 久久久久亚洲AV无码永不| 久久99精品久久久久久久不卡| 久久久久久久久久久| 亚洲午夜久久久影院| 精品久久久无码人妻中文字幕豆芽 | 久久精品亚洲精品国产色婷| 无码人妻久久一区二区三区免费丨| 超级碰碰碰碰97久久久久|