只言片语

posts(4) comments(3) trackbacks(0)
  • BlogJava
  • 联系
  • RSS 2.0 Feed 聚合
  • 管理

常用链接

  • 我的随笔
  • 我的评论
  • 我的参与
  • 最新评论

留言簿

  • 给我留言
  • 查看公开留言
  • 查看私人留言

随笔分类

  •  eclipse
  •  java(2)

随笔档案

  • 2006年8月 (2)
  • 2006年7月 (2)

搜索

  •  

最新评论

  • 1. re: 操作Excel,自动设置列高
  • 看到这个我觉得我的EXCEL 弱智了~
  • --Crusher Machine
  • 2. re: 现在我们的开发架构
  • 评论内容较长,点击标题查看
  • --aihua
  • 3. re: 现在我们的开发架构
  • 请问 BaseDAO具体怎么实现??能否给出一个实例?有空希望和我留言。
  • --智者无疆

阅读排行榜

  • 1. 操作Excel,自动设置列高(1744)
  • 2. 现在我们的开发架构(389)
  • 3. 改进(264)
  • 4. 网页上发送mail的编码问题(256)

评论排行榜

  • 1. 现在我们的开发架构(2)
  • 2. 操作Excel,自动设置列高(1)
  • 3. 改进(0)
  • 4. 网页上发送mail的编码问题(0)

View Post

改进

    项目基本上采用如下交互模式.
    流程如下.
  1. 一个页面对应一个用类
  2. 一个页面对应一个Struts Action.
  3. 页面上一个动作(提交按钮)对应Action一个方法(或者对应if语句)
  4. 一个Struts Action对应一个BO类
  5. 一个Struts Action 方法(页面一个动作)对应BO一个方法
  6. 一个BO对应1到多个DAO.

  其中业务对象BO,
  1. 都是按照无状态设计的,类似函数大集合.
    1. 函数之间不考虑复用,函数之间功能独立,代码重复率高.
  2. 业务对象都是都是根据用例来划分的(1 vs 1).
    1. 业务对象之间不考虑关系,全部都是函数载体.
  3. DAO主要服务于业务对象.基本上也是1 vs 1
    1. 只能服用CRUD情况.复杂的sql文如果很相似可以合并.
    2. 由于设置上是为业务对象服务,业务对象之间设置沟通很少,所以DAO实现也多重复
  但是开发效率很高.从外到里,全程一人设计.单独看功能完整,全局看,雷同的太多了.

  首先提炼业务对象.从全局角度考虑,划出有限个业务对象.利用对象关系勾勒出完整的业务逻辑.
  其中每个业务对象与PO紧密合作,PO依赖与DAO,实现对象的基本操作(CRUD).
  以上实现业务对象层,主要用来描述业务对象之间的关系,已经持久化功能..

  再设计出查询层,支持复杂查询,获取各种查询结果.

  门户层对客户端(Struts Action)提供业务接口,支持如下:
  1. 对业务对象层操作
  2. 对查询层操作
  3. 对于复杂业务逻辑,结合查询层和业务层来实现.
 
 附上代码。  项目代码
   主要改进如下类
  1. CompinfoServiceImp
    1. 直接调用Compinfo,不显示调用DAO
  2. Compinfo
    1. 内部隐藏调用DAO


posted on 2006-07-04 22:45 aihua 阅读(264) 评论(0)  编辑  收藏 所属分类: java

新用户注册  刷新评论列表  

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问   管理
相关文章:
  • 改进
  • 现在我们的开发架构
 
 
Powered by:
BlogJava
Copyright © aihua