Posted on 2005-11-18 10:17
publisher luo 閱讀(2499)
評論(0) 編輯 收藏 所屬分類:
框架設計及應用
利用此框架開發(fā)主要將代碼分為三層,即控制層(Command),業(yè)務邏輯層(Service)和數(shù)據(jù)訪問層(DAO),command代碼只關注于頁面跳轉邏輯關系,收集請求數(shù)據(jù),轉發(fā)請求及最后跳轉到指定的顯示頁面(JSP);Service主要關注于頁面邏輯,客戶的需求轉化為實際的業(yè)務邏輯就由Service層來實現(xiàn),其中權限事務日志等不是純業(yè)務的邏輯交由AOP的專門程序處理,使開發(fā)人員關注點聚焦而不會被繁瑣的其它事情所影響效率;DAO層主要完成業(yè)務邏輯中需要與數(shù)據(jù)庫間交互的部分代碼,主要是跟sql語句,存儲過程等相應的數(shù)據(jù)庫(存儲)打交道的部分代碼的封裝,把這一層抽離出來可以實現(xiàn)更好的移植性(如果轉換數(shù)據(jù)庫,只要修改DAO這一層就可以了)。調用關系圖如下:
執(zhí)行過程如上圖,首先請求發(fā)送給主控制器,主控制器委托輔助類(Request Helper)根據(jù)分析url然后在配置文件中找到實際的command并執(zhí)行,command獲取請求的參數(shù)并委托Services層的各相應Manager類來處理相應的業(yè)務邏輯,其中如果有數(shù)據(jù)庫操作的話則委托DAO來完成,將結果返回到command,command將結果(Data Bean)重新放入請求中并根據(jù)配置信息轉發(fā)到顯示(view)部分即JSP頁面,最終JSP頁面負責將取來的數(shù)據(jù)結合頁面信息生成html代碼返回到客戶端瀏覽器上,實現(xiàn)了一個完整的交易過程。