::Z::Thinking::

::Simple::
文章 - 124,收藏 - , 评论 - 49, trackbacks - 0

发信人: Javor (猪头小队长·Java入门中...), 信区: J2EE
标  题: struts中的几种类型的对象的区分
发信站: BBS 水木清华站 (Tue Jun 29 14:19:09 2004), 站内

在struts中的几种常用对象如下:

1.业务对象(BO)
    1.1 实体业务对象(Entity)
    1.2 过程业务对象(Process)
    1.3 事件业务对象(Event)
2.数据传递对象/值对象(DTO/VO)
3.FormBean
4.持久化对象(PO)

我的理解是:
1.BO就是业务逻辑中所涉及的所有的对象,使用这些对象来进行逻辑操作。
  EJB中的EB就是一种实体业务对象
  EJB中的SB就是一种过程业务对象

2.DTO主要是用来在不同层之间传递数据,是细粒度数据的粗粒度视图,它
  和BO的区别就是它不包含任何的业务逻辑,是BO的一个快照。

3.FormBean是Html Form映射成的一个对象,主要是用来把Html Form中零
  散的数据封装起来,以对象的形式来提供OO方式的操作。

4.PO应该属于BO的实体业务对象部分,在BO里面应用了DAO模式,实现了业
  务逻辑和数据访问逻辑的分离,PO就是数据访问逻辑的部分。hibernate
  应该属于这种。

总体结构如下图:
        +-----------------------+
        | HTML FORM             | --
        +-----------------------+
        | FormBean              | ActionServlet
        +--------[DTO]----------+
        | BO                    | --
        | +----+ [DTO] +----+   |
        | | BO |<----->| BO |   | 业务逻辑(Service)
        | +----+       +----+   |
        | +-------------------+ | --
        | |PO(JDBC)           | |
        | +-------------------+ |
        +-----------------------+
        | DB                    |
        +-----------------------+

 

---------------------------------------

btw:我不太同意,bo和po没有关系,dto/vo是bo操作的对象.在hibernate中,po没有状态的时候可以继承逻辑操作(通常static)成为bo.在业务层上还有一个vo(view object ,not value object)层,与页面的表示相关.



Trackback: http://tb.donews.net/TrackBack.aspx?PostId=35624


[点击此处收藏本文]  发表于2004年06月29日 11:06 PM




正在读取评论……