又一个: 层次间对象协作的问题?

XACZ 2005-02-22 09:38:54
有这样一个简单应用:
class Tproduct_form 产品维护窗体
{ fproduct tproduct;
tproduct readproduct(int id);
}
class Tproduct_manager 产品管理逻辑
{
boolean isvildate
create(tproduct value);
read; tproduct;
update(tproduct value);
delete(int id);
}
class Tproduct 产品实体
{
int id;
str name;
}
class Tproduct_mapper 产品对象到数据库映射
{
create(tproduct value);
read; tproduct;
update(tproduct value);
delete(int id);
}
现在就简单的说:product 对象持久化到数据库是一个单一表的映射。
问题是:当我要更新一个产品数据,那我就需要将product对象从UI传递到manager在传递到mapper.
得到一个产品数据则循序相反。
那么请问 tproduct 对象每一层都对其有依赖,不知道这样合理不合理?tproduct 到底是属于哪一层的对象?如果不合理,怎么样重构呢?


...全文
94 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
aboush 2005-02-23
  • 打赏
  • 举报
回复
理论上说,应该使用不同的实体类来隔离每一层的数据变化.
但实际上,可能那么作太麻烦了.
我也是使用同一个类,在不同层次中传递数据.
有几种不同的情况:
1.数据库和UI(业务逻辑)都使用的字段:这是没有什么问题的.
2.UI(业务逻辑)使用但数据库不使用的字段:这需要数据库映射能选择实体类中的字段.
3.数据库使用但UI不使用,业务逻辑可能使用:这种也不会产生大的问题.
只是这样的话,大项目的编译就慢点,而且协作也麻烦.要是中小项目是可以的.
XACZ 2005-02-22
  • 打赏
  • 举报
回复
人都到哪里去了? 自己顶

1,265

社区成员

发帖
与我相关
我的任务
社区描述
软件工程/管理 管理版
社区管理员
  • 研发管理社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧