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

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

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

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

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

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

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

    評(píng)論

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

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

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

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

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

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

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

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

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

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

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導(dǎo)航

    <2005年12月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    統(tǒng)計(jì)

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評(píng)論

    閱讀排行榜

    評(píng)論排行榜

    主站蜘蛛池模板: 99视频在线免费观看| 亚洲国产成人精品久久久国产成人一区二区三区综 | 亚洲第一极品精品无码久久| 亚洲综合另类小说色区色噜噜| 亚洲国产精品国产自在在线| 国产成人精品日本亚洲语音| 精品特级一级毛片免费观看| 免费无码婬片aaa直播表情| 中文字幕在线免费看线人| 亚洲国产一区二区三区| 精品日韩亚洲AV无码一区二区三区| 亚洲精品不卡视频| www亚洲精品久久久乳| 国产一区二区三区无码免费| 亚洲日韩av无码| 亚洲永久在线观看| 一个人看的免费高清视频日本 | 亚洲国产精品第一区二区| 亚洲中文字幕日本无线码| a毛片基地免费全部视频| 亚洲av无码乱码在线观看野外 | 一级黄色片免费观看| 久久久久一级精品亚洲国产成人综合AV区 | 久久免费精品一区二区| 永久黄网站色视频免费观看| 亚洲精品乱码久久久久久| 亚洲精品国产首次亮相| 亚洲精品免费视频| 免费一级毛片一级毛片aa| 亚洲乱码在线播放| 国产婷婷成人久久Av免费高清 | 人成电影网在线观看免费| 免费无码精品黄AV电影| 亚洲成a人片在线观看无码| 24小时日本韩国高清免费| 亚洲一级特黄大片无码毛片| av永久免费网站在线观看| 久久亚洲国产成人精品无码区| 日韩电影免费在线观看中文字幕| 亚洲色精品aⅴ一区区三区| 亚洲成人免费网站|