2008-04-14

PO DTO domainobject confusing

关键字: po dto domainobject
PO = persistent object

pojo = plain ordinary java object

po 多用于hibernate的环境下 说是和数据库保持数据同步的对象

但是如果持久层是ibatis 那么是否还存在po呢

首先第一个考虑的问题

1。需要不需要po

2。需要不需要domain object

解释这几个问题 首先从这两个东西的出现来说明

po 顾名思义 就是用来和数据库打交道的 如果没有hibernate 那完全可以叫它pojo

或者domainobject 只是为了表示业务 为了表示这些业务代码 总的来说是为了O-O 但是

真正的WEB 也不OO 比如MVC 的command模式不OO EJB 不OO service对DAO的代理模式不OO

OO 带来什么好处么?


关于DTO

DTO= data transfer object

想一下 web中传输的数据 要么就是一个业务实体 要么就是一个表结构所以归根结底就两种数据类型 要么表 要么实体

如此前后传输 暂时没想到什么坏处 类型问题? 类型分配问题?

DTO 对 SQL转换的复杂性? 我想可以解决吧

hibernate都可以做出来 多种数据机构对SQL可以影射 单一的数据结构应该更容易才对

这样可能属于反模式了 但是domainobject就像被打散了的业务用来松散耦合,但是老实说程序需要只能业务么

数据库对业务描述已经很清楚了 何必再用domainobject对数据库repeat

迷惑在这了 如果哪位大虾可以明确的高速我 PO 带来了什么好处 的 希望不吝赐教
评论
发表评论

您还没有登录,请登录后发表评论