dorado技術(shù)園地

          與您共同討論dorado技術(shù)及其應(yīng)用技巧

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            8 隨筆 :: 0 文章 :: 37 評論 :: 1 Trackbacks
          <2005年7月>
          262728293012
          3456789
          10111213141516
          17181920212223
          24252627282930
          31123456

          常用鏈接

          隨筆檔案(8)

          鏈接

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          architecture.jpg



          以下的說明基于利用
          DoradoMVC框架的基本開發(fā)方式:

          1.       Request(請求) 當(dāng)Client(瀏覽器)發(fā)起請求時, 改請求將首先被Dorado的控制層(Mapping)接受.

          2.       Dispatch(分發(fā)): 控制層會跟據(jù)用戶的配置決定激活哪一個Action.

          3.       Forward(轉(zhuǎn)向): 商業(yè)邏輯執(zhí)行完成后Action將根據(jù)商業(yè)邏輯的執(zhí)行結(jié)果將Request轉(zhuǎn)向給具體的視圖(ViewModel). 具體的轉(zhuǎn)向方式由Action的用戶配置信息決定.

          4.       Extract(提取): 視圖(ViewModel)被激活后會通過其中的Dataset對象到Module中提取業(yè)務(wù)數(shù)據(jù). 同時視圖也會根據(jù)配置信息自動創(chuàng)建各種可視化的控件用于展現(xiàn)提取到的業(yè)務(wù)數(shù)據(jù).

          5.       Response(反饋): 視圖的Server端準(zhǔn)備工作完成后會自動將各種信息輸出到Response對象中反饋給Client.

          注意

          上圖中以虛線標(biāo)出了doradoMVC架構(gòu)與傳統(tǒng)MVC的不同點. 這種不同主要是由dorado強大的Client帶來的.

          1.     由于doradoClient不再以傳統(tǒng)的HTML FORM作為與Server交互的途徑, 而是以XML替代. XML所能構(gòu)承載的信息量和復(fù)雜度遠(yuǎn)遠(yuǎn)高于HTML FORM. 所以在dorado的開發(fā)模式中往往不在Action中直接調(diào)用業(yè)務(wù)邏輯, 而是等到ViewModelModule將這些XML解析成對象后再調(diào)用業(yè)務(wù)邏輯.

          2.     doradoClient中除了有普通的類似FORM提交的操作之外, 還存在著一種數(shù)據(jù)請求操作. 例如在不刷新頁面的情況下下載數(shù)據(jù)集的分頁信息、遠(yuǎn)程方法調(diào)用等. 這種請求與普通的提交的操作的處理方式有著很大的不同, 也同樣難以通過Action進行統(tǒng)一的處理. 而且利用doradoMVC開發(fā)方式卻可以很好解決這一問題.

          以上變化, 經(jīng)過銳道公司extradorado兩代產(chǎn)品的數(shù)十家不同類型、層次的開發(fā)的實踐證明是完全可行, 且對系統(tǒng)的擴展性、復(fù)用性、安全性完全無害的.


           

          model.jpg



          上圖解釋了數(shù)據(jù)如何通過各個功能層從數(shù)據(jù)庫中轉(zhuǎn)換到可是化控件中的過程.

          1.       ViewMode用于定義一個視圖的模型,包括數(shù)據(jù)模型(Dataset)和可視化組件(Control)的模型。Dataset是一種用于為Client服務(wù)的二維數(shù)據(jù)表。Control可以綁定到Dataset,用于展示和操作Dataset中管理的數(shù)據(jù)。

          2.       DatasetRefrence是一種對ModuleDataset的引用,用于使用ViewModel之外的其它的Dataset的數(shù)據(jù)。

          3.       Module一般用于描述一組相關(guān)的商業(yè)邏輯或作為后臺的商業(yè)邏輯的前端(商業(yè)邏輯前端也稱為:BusinessDelegate)。Module可通過Dataset的事件來將ClientDataset中數(shù)據(jù)的操作翻譯成真正的業(yè)務(wù)邏輯操作。

          4.       在默認(rèn)模式下,用戶可通過SQL進行數(shù)據(jù)庫操作,此時用戶可利用Module中的Dataset對象直接對數(shù)據(jù)庫進行操作。

          posted on 2005-07-25 00:36 dorado技術(shù)園地 閱讀(6665) 評論(1)  編輯  收藏

          評論

          # 使用傳統(tǒng)MVC的企業(yè)應(yīng)當(dāng)如何導(dǎo)入dorado? [TrackBack] 2005-11-15 13:51 hotbarsmu
          傳統(tǒng)MVC 導(dǎo)入dorado 架構(gòu)
          [引用提示]hotbarsmu引用了該文章, 地址: http://blog.csdn.net/hotbarsmu/archive/2005/11/15/529872.aspx  回復(fù)  更多評論
            


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 承德县| 吉木萨尔县| 皮山县| 阿拉善盟| 衡水市| 哈密市| 古丈县| 佛坪县| 合肥市| 民县| 阿克| 嫩江县| 根河市| 鸡泽县| 吴江市| 平遥县| 肃北| 洛南县| 中山市| 岗巴县| 安乡县| 清流县| 邢台县| 固原市| 黎平县| 赤壁市| 黎城县| 宣汉县| 建宁县| 攀枝花市| 秭归县| 台南县| 滨海县| 原阳县| 普洱| 绥化市| 通河县| 长沙市| 宜州市| 平昌县| 天柱县|