posts - 4,  comments - 16,  trackbacks - 0

          我們現(xiàn)在通常用的開發(fā)層次都是 頁面-〉Action -〉Serice -〉Dao -〉DB
          Service中進行業(yè)務處理
          Dao中進行和數(shù)據(jù)庫相關的一些CUID處理

          下面就出現(xiàn)了一個比較困擾我的問題 比如一個簡單的例子,我要取一個員工Employee
          的信息到頁面,我要調用 通過Action 調用 Service的 loadEmployee(...) 的方法
          然后在 Dao 中調用 loadEmployee(...) 方法 , 我的困惑就是Entity和VO 到底各自
          負責什么事情。

          我考慮了3種情況:
          1、load方法中的參數(shù)是比如這樣的 (String employee, int age ... )
          ?Service中 返回的是 VO 到頁面
          ?Dao中 返回 Entity
          ?
          ?Serivce中的方法大概這樣寫
          ?
          ?public EmployeeBean loadEmployeeBean(String employee, int age ... ) {
          ??EmployeeEntity employeeEntity = employeeDao.loadEmeployee(String employee,

          int age ... );
          ??... 屬性Copy ...
          ??return employeeBean;
          ?}

          2、load方法中的VO是比如這樣的 Service 中參數(shù)是 (EmployeeBean employeeBean) Dao中的參數(shù)是
          (EmployeeEntity employeeEntity)
          ?其他同方法1

          3、第三種方法的參數(shù)傳遞方式和第二種一樣但是 Dao 返回的不是一個Entity 而是一個VO
          ?public EmployeeBean loadEmployeeBean(EmployeeBean employeeBean) {
          ??EmployeeBean employeeBean = employeeDao.loadEmeployee(EmployeeBean

          employeeBean);
          ??... 邏輯操作 ...
          ??return employeeBean;
          ?}


          第一種情況參數(shù)固定很難擴展
          第二種情況Dao 返回Entity 把Entity 暴露在 Service 下 并且要繁瑣的 properties Copy 操作
          覺得很不爽 有人會說用BeanUtils 但是如果屬性類型不一樣的話很麻煩 多表操作更麻煩

          我把第三種情況在詳細的描述一下
          其實這幾種情況的主要差別就是 參數(shù)返回值
          第三種情況中? Service? 和 Dao 中傳入的 參數(shù)返回值 都是 VO 對象
          參數(shù)是VO的好處就是 可以 在不用改變方法的情況下 增加 查詢條件 當然減少也可以
          返回對象是VO的好處就是 多表查詢 返回 某些字段 可以封裝在VO對象中 這樣取值比較方便


          我個人比較傾向于 第三種情況
          不知道各位有何高見

          posted on 2006-12-02 02:11 IT Space 閱讀(2048) 評論(4)  編輯  收藏

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


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 阿巴嘎旗| 保山市| 离岛区| 海兴县| 苍溪县| 东乡县| 克拉玛依市| 牙克石市| 滁州市| 桐庐县| 平定县| 营口市| 页游| 定日县| 普定县| 常州市| 湘潭市| 原平市| 新津县| 辉县市| 遵化市| 榆林市| 诏安县| 施甸县| 东城区| 霍林郭勒市| 商南县| 抚宁县| 壶关县| 鄱阳县| 揭东县| 宜宾县| 油尖旺区| 新竹市| 伊宁县| 托里县| 湟源县| 遵义县| 哈巴河县| 洪雅县| 延津县|