<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 閱讀(3881) 評論(5)  編輯  收藏 所屬分類: 系統設計

    評論

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

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

    # 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

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲免费观看网站| 91短视频在线免费观看| 国产成人免费手机在线观看视频| 亚洲伊人久久大香线蕉| **一级毛片免费完整视| 亚洲国产一区在线观看| 日韩免费一区二区三区在线| 亚洲黄色免费网站| 57pao一国产成永久免费| 亚洲精品一卡2卡3卡三卡四卡| 最近免费中文字幕大全免费 | 免费黄色电影在线观看| 国产亚洲真人做受在线观看| APP在线免费观看视频| 亚洲国产成人久久精品影视| 亚洲美女视频免费| 亚洲一卡2卡3卡4卡乱码 在线 | 亚洲一级毛片免费在线观看| 亚洲国产高清在线精品一区| 天天干在线免费视频| 阿v免费在线观看| 亚洲国产精品一区二区成人片国内 | 国产v亚洲v天堂a无| 国产午夜无码视频免费网站| 国产乱子伦精品免费视频| 久久久久亚洲AV片无码| 在线视频观看免费视频18| 亚洲av乱码中文一区二区三区| 亚洲国产精品综合久久网络| 久久福利青草精品资源站免费| 亚洲视频免费播放| 国产精品免费播放| 十八禁视频在线观看免费无码无遮挡骂过 | ZZIJZZIJ亚洲日本少妇JIZJIZ| 国产va在线观看免费| 国产成人精品日本亚洲专| 亚洲国产精品视频| 免费黄色福利视频| 日本精品久久久久久久久免费| 亚洲av无码一区二区乱子伦as | 亚洲另类激情综合偷自拍图|