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

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

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

    繼續侃數據驅動和模型驅動

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

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

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

    評論

    # re: 繼續侃數據驅動和模型驅動 2005-11-28 11:04 corlin

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

    # re: 繼續侃數據驅動和模型驅動 2005-12-30 16:45 weide

    最近再次鑿摸關于模型與建模,又有所得:其實jerry兄所言兩種“數據驅動”和“模型驅動”都是宏觀意義上模型驅動開發的特例,二者分別對應的模型不同,數據模型--領域對象模型?  回復  更多評論   

    # re: 繼續侃數據驅動和模型驅動 2005-12-30 19:57 Programmer's Life

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

    # re: 繼續侃數據驅動和模型驅動[未登錄] 2008-06-22 22:31 garfield

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

    # re: 繼續侃數據驅動和模型驅動 2012-09-02 12:32 www.zrpmw.com

    寫的太有水平了吧!向你學習了  回復  更多評論   

    公告

     









    feedsky
    抓蝦
    google reader
    鮮果

    導航

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

    統計

    隨筆分類

    隨筆檔案

    文章檔案

    Blogger's

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 成人A片产无码免费视频在线观看 成人电影在线免费观看 | 激情综合色五月丁香六月亚洲| 亚洲无人区码一二三码区别图片 | 亚洲国产欧美一区二区三区| 成人毛片免费视频| 亚洲精品永久在线观看| 日韩成人免费视频播放| 香蕉视频免费在线播放| 国产成人亚洲综合| 日韩免费电影网址| 亚洲国产精品白丝在线观看| 最近中文字幕mv免费高清电影| 在线aⅴ亚洲中文字幕| 国产成人无码免费视频97| 无遮挡a级毛片免费看| 亚洲色婷婷综合开心网| 女同免费毛片在线播放| 亚洲福利一区二区三区| 中文字幕无码不卡免费视频| 亚洲AV无码一区二区三区久久精品| 国产乱子影视频上线免费观看| 日韩一级片免费观看| 亚洲成在人天堂一区二区| 一级女人18毛片免费| 老司机精品视频免费| 亚洲AV无码一区东京热| 免费a级毛片高清视频不卡| 无套内射无矿码免费看黄| 亚洲国产成人一区二区三区| 日韩在线播放全免费| 337p日本欧洲亚洲大胆人人| 亚洲综合色自拍一区| 4399好看日本在线电影免费| 亚洲AV无码精品国产成人| 亚洲成a人片在线观看无码专区| 日本XXX黄区免费看| 日韩精品无码免费视频| 中文字幕亚洲综合久久| 国产一级特黄高清免费大片| 你懂的免费在线观看网站| 亚洲AV无码国产精品永久一区|