UIComponent顯示和邏輯分離的考慮

          UIComponent,UI層組件,作為組件其最重要的就是接口的提供以及擴充性,同時作為UI層的組件,從UI層的職責來考慮就是UI的展示和交互兩個方面,在這兩個方面上UIComponent最需要考慮的就是顯示和邏輯的分離,避免邏輯造成對顯示的污染,顯示和邏輯的分離的好處就在于修改UI以及修改邏輯時都會更加的方便,不用去繁重的html代碼中尋找UI和邏輯。
          UIComponent可以參考的有Tapestry、JSF等等這些東西,這些組件化的建設中個人覺得一個問題就在于造成了UI的修改變得很困難,因為UI都在代碼里控制了,也就是說沒有做到很好的UI顯示和邏輯的分離,這種組件化的好處感覺只在于對于開發(fā)人員的滿足,但對于集成UI這項占據(jù)巨大工作量的工作來說,仍然是很痛苦很麻煩的一件事。
          目前正在做UIComponent這塊的工作,對于這塊的設計目前采用的是UIComponent由UIHtmlTemplate、UICssTemplate和UILogicTemplate共同組成,UIHtmlTemplate控制頁面的靜態(tài)元素顯示,UICssTemplate控制整個頁面的靜態(tài)以及動態(tài)元素的顯示形式,UILogicTemplate控制頁面動態(tài)元素的邏輯以及交互邏輯。整個UIComponent采取Template機制,采用的工具是Velocity,通過自定義Template所需要的context解析成html,UILogicTemplate中控制的為頁面動態(tài)元素的創(chuàng)建邏輯,如要創(chuàng)建一個表格、創(chuàng)建行等,對于這些創(chuàng)建的表格、行等動態(tài)元素的顯示形式的控制仍然通過css實現(xiàn),與服務器的交互邏輯則通過ajax進行實現(xiàn),UIComponent通過表現(xiàn)層引擎加載到頁面上下文中,這樣在頁面上下文中就可以直接以#tree等等這樣的方式來使用了。在這樣的一個設計中UI的顯示和邏輯算是做到了分離,不過現(xiàn)在出現(xiàn)的問題主要在于編寫一個UIComponent仍然不夠方便,需要對于js、css以及ajax都熟悉的人(或是這樣的幾個人,不過目前看下來覺得有oo基礎的人去學下這個東西還是很快的,很容易上手的三樣很強大的東西,^_^,這些天經(jīng)常被js、css的強大而震驚,誰叫我是外行  ),不過在用的方面來說就比較好用了,整個系統(tǒng)的UI控制(風格等)以及交互方式都變得非常的清晰,UI集成的速度也大幅度提升,UI集成來講已經(jīng)不像以前那樣的痛苦了。
          UIComponent方面除了頁面常用的html相關元素外,最重要的還是象數(shù)據(jù)集式的控件(樹、表格、下拉列表、下拉樹、數(shù)據(jù)Grid等等)方面。
          這里只是大概的對UIComponent進行一個陳述,如果大家有好的看法的話希望能加以指點......

          ps: 個人覺得做UIComponent就和做別的一樣,最重要的是要把握其目的,應該說UIComponent的目的是為了讓開發(fā)人員在進行頁面集成工作時更加簡單,頁面的顯示和邏輯修改更加的方便,整體系統(tǒng)的風格更加的統(tǒng)一,另一方面就是提供出足夠的擴展和自定義機制。

          posted on 2005-12-15 14:57 BlueDavy 閱讀(1359) 評論(0)  編輯  收藏 所屬分類: Java

          公告

           









          feedsky
          抓蝦
          google reader
          鮮果

          導航

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

          統(tǒng)計

          隨筆分類

          隨筆檔案

          文章檔案

          Blogger's

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 阜城县| 容城县| 梅河口市| 通河县| 东丽区| 临清市| 彝良县| 平泉县| 万年县| 东山县| 贵溪市| 大邑县| 昭平县| 泾源县| 剑川县| 永善县| 翁源县| 冕宁县| 南乐县| 青浦区| 宜兰县| 中超| 江北区| 荔波县| 长丰县| 乌什县| 广水市| 平山县| 米易县| 侯马市| 衡南县| 濮阳县| 西安市| 达拉特旗| 普格县| 工布江达县| 高唐县| 南乐县| 马山县| 都匀市| 深圳市|