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

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

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

    繼續(xù)侃數(shù)據(jù)驅(qū)動和模型驅(qū)動

    前天那篇blog更多的是講了下數(shù)據(jù)驅(qū)動、模型驅(qū)動的大致概念,今天更多的是講數(shù)據(jù)驅(qū)動以及模型驅(qū)動在進行系統(tǒng)實現(xiàn)時的方法以及過程。
    數(shù)據(jù)驅(qū)動
    采用數(shù)據(jù)驅(qū)動進行系統(tǒng)實現(xiàn)時通常采用的是一個這樣的過程,建立數(shù)據(jù)源(DataSource),同時根據(jù)業(yè)務(wù)對象模型進行數(shù)據(jù)庫表設(shè)計,在數(shù)據(jù)庫表設(shè)計完成后根據(jù)業(yè)務(wù)場景構(gòu)成數(shù)據(jù)集(DataSet),通常這個時候DataSet本身就是一種業(yè)務(wù)場景所需的業(yè)務(wù)數(shù)據(jù),在簡單的情況下有可能就是對某張表的操作,復(fù)雜的情況下則是對于多張表的操作,在DataSet構(gòu)成后將此DataSet綁定到頁面即可進行數(shù)據(jù)的展現(xiàn)了,如需對數(shù)據(jù)進行增加、編輯、刪除同樣通過DataSet方式來進行,這個過程基本上就是一個基于數(shù)據(jù)驅(qū)動進行系統(tǒng)實現(xiàn)的過程了。
    模型驅(qū)動
    采用模型驅(qū)動進行系統(tǒng)實現(xiàn)時通常采用的是一個這樣的過程,根據(jù)業(yè)務(wù)場景建立業(yè)務(wù)對象,在進行持久時持久業(yè)務(wù)對象中需要持久的屬性,對于業(yè)務(wù)場景的實現(xiàn)通過Facade模式對外提供統(tǒng)一接口,此接口通過與持久層進行交互以及操作業(yè)務(wù)對象(或領(lǐng)域?qū)ο?來完成業(yè)務(wù)場景的實現(xiàn),而頁面則通過此領(lǐng)域?qū)ο蠡蝻@示對象來進行數(shù)據(jù)的展現(xiàn),如需對數(shù)據(jù)進行操作按照顯示對象--->Service Facade來完成。

    從上面關(guān)于實現(xiàn)的過程的描述上來說,會覺得好像模型驅(qū)動更為復(fù)雜,但模型驅(qū)動較之數(shù)據(jù)驅(qū)動的優(yōu)點我想不用多少,這里更重要的是我覺得是對于數(shù)據(jù)驅(qū)動和模型驅(qū)動的一個理解,其實數(shù)據(jù)驅(qū)動同樣是模型驅(qū)動,呵呵,數(shù)據(jù)驅(qū)動中的業(yè)務(wù)對象模型我們可以認為和模型驅(qū)動中的業(yè)務(wù)對象模型一致,其和模型驅(qū)動的不同點在于數(shù)據(jù)驅(qū)動采用DataSet的方式來實現(xiàn)業(yè)務(wù)場景,而模型驅(qū)動通常采用Service Facade調(diào)用各領(lǐng)域?qū)ο髞韺崿F(xiàn)業(yè)務(wù)場景,這里有一點非常明顯,數(shù)據(jù)驅(qū)動只適合一種簡單的業(yè)務(wù)場景,那就是通過數(shù)據(jù)關(guān)聯(lián)或簡單的數(shù)據(jù)邏輯處理可以來實現(xiàn)的業(yè)務(wù)場景,而Service Facade其實對于兩者均通用,通過構(gòu)建類似DataSet的數(shù)據(jù)關(guān)聯(lián)或簡單的數(shù)據(jù)邏輯處理通過和持久層交互即同樣達到了如此的目的,^_^,而且這種方式對于復(fù)雜的業(yè)務(wù)場景同樣可以實現(xiàn),通過領(lǐng)域?qū)ο蟮慕换ゼ纯赏瓿?,而在DataSet方式中這個步驟是比較棘手的,雖然也可以處理,但會帶來的問題就是重復(fù)代碼的增多以及可維護性的降低,其實關(guān)鍵的問題就是其沒有形成對象,內(nèi)聚性不夠強。
    我的觀點仍然是數(shù)據(jù)驅(qū)動是一種退化的模型驅(qū)動或者說變相的模型驅(qū)動,數(shù)據(jù)驅(qū)動中根據(jù)業(yè)務(wù)對象模型進行數(shù)據(jù)庫表設(shè)計的這個過程可以映射為在模型驅(qū)動中進行業(yè)務(wù)對象模型實現(xiàn)的過程,而建立數(shù)據(jù)集的過程則和模型驅(qū)動中的Service Facade頗為相似,只是其Service Facade中的方法比較簡單,至于DataSet綁定到頁面這個過程其實和模型驅(qū)動中將領(lǐng)域?qū)ο蠡蝻@示對象和頁面綁定是相同的概念。
    模型驅(qū)動思想才是王道, ,需要的僅僅是架構(gòu)體系中對于數(shù)據(jù)驅(qū)動這種變相的模型驅(qū)動也提供一個良好的支持,其實我覺得通過上面的描述已經(jīng)可以看到要去做出這個支持是非常簡單的一件事,抽象形成通用Service Facade以及考慮如何建立DataSet即完成了這個實現(xiàn),而且這樣的架構(gòu)對于模型驅(qū)動同樣支持,^_^,何樂而不為,魚和熊掌均可得之(其實就只有熊掌,只是一個可能是肥壯一些的,一個是瘦弱一些的,^_^)。

    posted on 2005-11-25 21:47 BlueDavy 閱讀(3891) 評論(5)  編輯  收藏 所屬分類: 系統(tǒng)設(shè)計

    評論

    # re: 繼續(xù)侃數(shù)據(jù)驅(qū)動和模型驅(qū)動 2005-11-28 11:04 corlin

    講的好,其實模型驅(qū)動主要的一點要求是可配置,可擴展。需要的模式倒不限定上面幾種。基礎(chǔ)的業(yè)務(wù)模型要很持久,字段/表的擴展對設(shè)計和開發(fā)人員來說要高效和簡潔。界面由多個實體合成,實體是配置好的業(yè)務(wù)模型實例,實例有一個父實例,實例和實例之間有關(guān)聯(lián)。
    屏蔽了數(shù)據(jù)層,設(shè)計和開發(fā)人員只需要關(guān)心業(yè)務(wù)。  回復(fù)  更多評論   

    # re: 繼續(xù)侃數(shù)據(jù)驅(qū)動和模型驅(qū)動 2005-12-30 16:45 weide

    最近再次鑿摸關(guān)于模型與建模,又有所得:其實jerry兄所言兩種“數(shù)據(jù)驅(qū)動”和“模型驅(qū)動”都是宏觀意義上模型驅(qū)動開發(fā)的特例,二者分別對應(yīng)的模型不同,數(shù)據(jù)模型--領(lǐng)域?qū)ο竽P停?nbsp; 回復(fù)  更多評論   

    # re: 繼續(xù)侃數(shù)據(jù)驅(qū)動和模型驅(qū)動 2005-12-30 19:57 Programmer's Life

    恩,^_^,是的,意思就是這個...
    其實用某種角度去看,數(shù)據(jù)模型也是領(lǐng)域模型,只是一種退化的而已  回復(fù)  更多評論   

    # re: 繼續(xù)侃數(shù)據(jù)驅(qū)動和模型驅(qū)動[未登錄] 2008-06-22 22:31 garfield

    對與數(shù)據(jù)驅(qū)動與模型驅(qū)動, 我的理解是這兩種方式主要差別在于他們的配置,擴展方式的不同。對于數(shù)據(jù)驅(qū)動的配置、擴展 主要體現(xiàn)在數(shù)據(jù)庫表的設(shè)計上, 模式驅(qū)動的配置、擴展主要體現(xiàn)在編程語言上的設(shè)計上。 這兩種設(shè)計思想實際上沒有什么不同, 就是具體實現(xiàn)上不一樣。這個主要看設(shè)計者習(xí)慣用那種方式。  回復(fù)  更多評論   

    # re: 繼續(xù)侃數(shù)據(jù)驅(qū)動和模型驅(qū)動 2012-09-02 12:32 www.zrpmw.com

    寫的太有水平了吧!向你學(xué)習(xí)了  回復(fù)  更多評論   

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導(dǎo)航

    <2005年11月>
    303112345
    6789101112
    13141516171819
    20212223242526
    27282930123
    45678910

    統(tǒng)計

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产成人毛片亚洲精品| 免费国产成人午夜私人影视| 亚洲色偷拍另类无码专区| 色婷婷亚洲一区二区三区| 妞干网在线免费观看| 亚洲精品国产第一综合99久久 | 国产亚洲精品影视在线| 国产91免费视频| 亚洲成人高清在线观看| 真人做人试看60分钟免费视频| 亚洲欧洲日韩综合| 美女视频黄a视频全免费| 亚洲一线产品二线产品| 国产麻豆免费观看91| 看免费毛片天天看| 国产AV无码专区亚洲AV手机麻豆| a级毛片在线免费看| 久久亚洲日韩精品一区二区三区| 一区二区三区观看免费中文视频在线播放 | 亚洲成色在线综合网站| 99热免费在线观看| 亚洲天堂电影在线观看| 日美韩电影免费看| 亚洲天堂免费在线视频| 亚洲成A人片在线观看WWW| 1000部夫妻午夜免费| 亚洲av日韩精品久久久久久a| 国产免费久久精品久久久| 免费人成视频在线播放| 伊人婷婷综合缴情亚洲五月| 久久免费福利视频| 亚洲一区动漫卡通在线播放| 最新69国产成人精品免费视频动漫| 国产亚洲Av综合人人澡精品| 亚洲桃色AV无码| 日本zzzzwww大片免费| 亚洲AV无码AV吞精久久| 亚洲精品无码不卡在线播放HE| 97碰公开在线观看免费视频| 日本系列1页亚洲系列| 亚洲卡一卡2卡三卡4卡无卡三|