posts - 176, comments - 240, trackbacks - 0, articles - 7

          [導入]Ajax結構分析

          Posted on 2006-02-22 20:33 canonical 閱讀(1153) 評論(0)  編輯  收藏 所屬分類: 軟件開發

          Ajax: A New Approach to Web Applications http://www.adaptivepath.com/publications/essays/archives/000385.php
          Ajax(Asynchronous JavaScript + XML)并不是一個革命性的嶄新概念(也許根本就不存在突發的革命),它的技術基礎在多年之前就已經牢固的建立起來了,在概念層次上的探討也早就不是一個 新鮮的話題,只是大規模的有深度的應用似乎是最近才開始的。
          從廣義上說,web應用至少涉及到兩個結構,
          1. 后臺以java語言表達的業務邏輯結構
          2。前臺以html語言表達的界面表現結構。

          web開發很大一部分工作就是建立這兩個結構之間的關系。即我們需要
          html <--> java

          我 們首先要意識到這兩種結構之間并不一定是同構的,即后臺數據的組織方式與前臺展現時的結構是不同的。同樣的數據可以對應于不同的展現結構。這也是所謂 MVC架構實現模型與視圖分離的依據。傳統上,基于Model2模式的MVC框架中,這兩種結構的映射只能在很粗的粒度上進行(即整個頁面的粒度上),因 此妨礙了封裝和重用。為了進行細粒度的映射,我們必須要擁有細粒度的結構控制能力。而目前最強的結構控制能力存在于javascript/DHTML模型 之中,在js中html的結構可以是一段線性的文本(innerHTML和outerHTML), 可以是層級組織的節點(parentNode, childNodes), 也可以是按照key組織起來的Map(getElementById)。在不同的情形下,我們可以根據需要選擇不同的結構模型。
          ajax體系很直接的一個想法就是將所有關于界面表達和控制的結構都推到前臺,由控制力最強的js來控制后臺數據模型與前臺html模型之間的映射。
          html <--> js <==> xml <==> java
          在ajax 體系中,xml所扮演的角色是js與java之間的翻譯通道,它將js中的結構與java中的結構對應起來,這種翻譯比html/java之間的映射要簡 單的多。其實它甚至可以是一種同構的映射,可以用一種通用的方式來進行,例如結合burlap與buffalo包的功能。結合webservice的一些 思想,js/java之間的映射是可以在函數調用這種細粒度上自動進行的,從而我們最終可以在概念上完成html/java之間的細粒度映射。

          主站蜘蛛池模板: 枞阳县| 邢台市| 资溪县| 儋州市| 漳州市| 绥宁县| 环江| 镇沅| 任丘市| 枣强县| 万荣县| 张家口市| 文化| 民和| 县级市| 寻乌县| 安远县| 东乡| 通山县| 昌图县| 花莲市| 清流县| 和静县| 呼玛县| 富平县| 壶关县| 潢川县| 双流县| 兴仁县| 板桥市| 房山区| 霍州市| 武川县| 景宁| 张家川| 措美县| 南岸区| 阳谷县| 古交市| 庆阳市| 合川市|