讀《J2EE Development without EJB》 筆記七

          Posted on 2006-01-18 17:42 JDeodar 閱讀(395) 評論(0)  編輯  收藏 所屬分類: J2EE
          Web Tier Design -- Web層設計

          1、設計目標
          A:一個清晰的Web層。
          用MVC達到:控制器(Controller)對象,接受用戶輸入的信息,并調用業務邏輯去創建和更新模型對象。模型(Model)對象,提供要顯示的數據,提供控制器和視圖之間的契約。視圖(View)對象,顯示由控制器提供的模型對象。
          B:Web層應該盡可能地薄。

          2、請求驅動的Web MVC框架
          一個HTTP請求過來,被一個通用的分發器servlet(dispatcher servlet)分析,再被分發到一個對應的應用處理器。處理器依次處理UI特有的控制邏輯,調用業務對象和管理會話狀態(如果需要),準備一個模型,再轉發到一個視圖。每個UI動作對應一個處理器,后者通常被稱為動作(action)或控制器(controller),具體的名稱雖框架而定。
          控制器可能被建模為可重用、線程安全的處理器,類似Servlet(例如Struts和Spring);也可能實現為“只使用一次”的command實例(例如WebWork)。
          請求驅動的Web MVC框架的設計模型通常包括六種類型的對象。在一些框架中有些對象同時扮演了幾個角色:
          A:控制器(controller):它是由框架調用的組件,負責處理HTTP請求,并確定一個要呈現的視圖。
          B:攔截器(interceptor):它是由框架調用的組件......
          C:command或form:它是根據請求參數組裝的JavaBean,
          可用作中間層業務對象的方法參數。如果是只使用一次(只在一次請求范圍內有效)的對象,則通常稱為command對象;如果表示可重復提交的表單,則稱為form對象。
          D:驗證器(validator):用于驗證command/form對象,如果發現錯誤,則生成驗證錯誤對象,交給視圖顯示。驗證可以針對整個對象,也可以針對特定的字段。
          E:驗證錯誤收集器(validation errors holder):收集驗證錯誤,并將其暴露給視圖去顯示。驗證過程可能是編程實現的,也可能是由框架特有的JSP標簽進行的。
          F:模型(Model):由控制器曝露給視圖的一個或多個JavaBean,表示控制器和視圖之間的數據約定。
          G:視圖引用(view reference):可能是一個符號名稱、一個資源URL、或一個真實的視圖對象??刂破鞣祷匾晥D引用,由框架進行渲染。

          3、事件驅動(event-driven)的Web MVC框架

          Tapestry和JSF

          posts - 10, comments - 2, trackbacks - 0, articles - 0

          Copyright © JDeodar

          主站蜘蛛池模板: 三亚市| 墨玉县| 乐亭县| 荔浦县| 西平县| 新蔡县| 休宁县| 锡林浩特市| 松原市| 舞阳县| 屏东市| 磴口县| 沂南县| 卢龙县| 原平市| 嘉兴市| 祁阳县| 黄浦区| 瑞丽市| 天峨县| 河池市| 抚远县| 通榆县| 贡山| 蒙山县| 界首市| 城步| 汉寿县| 奉化市| 高清| 长岛县| 育儿| 乾安县| 榕江县| 嘉兴市| 博白县| 锦屏县| 天津市| 锡林浩特市| 封丘县| 宜章县|