发帖    主题    评论    推荐    标签    作者    订阅    查搜    注册   登陆   关注
 
面向对象 设计模式 领域驱动设计 企业架构 框架 开发教程 微服务 CQRS 扩展性 并发编程 事件溯源 分布式 SOA
1 2 3 下一页 Go 3

域建模的又一困惑!

                   
2004-11-30 16:50
赞助商链接

订单Order与帐户Account;类别Category与产品Products这几个类。
我得开始想法,Order需要知道Account的知识,而Account也需要查询对应的Order列表;这样二者可以建立双向一对多的关联。Category与Products二者的关系也是一样,双向一对多关联。
但是我发现,Order与Account的关系不似Product和Category之间关系那么紧密。Category与Product似乎是一个比较严格的一对多的双向关联,而Order和Account之间又隐隐的存在这种一对多的双向关联,可是有感觉有些不妥。
二者存在以下不同:
对于Category有更新的操作,可以先取出现有的products列表,然后update这个products的列表。进行更新;
而对于Order却没有类似的操作,需求上只有下定单,查许某帐户的曾经的下单,根据订单查询帐户信息的需求,似乎Order和Account之间的关系比较的淡化,这种情况如何建立二者的关系?

2004-12-07 09:22

Category与Product是MANY-TO-MANY的关联, 级联水平应该是save-update, 这种关联一般都存在O/R MISMATACH的问题(需要LINK TABLE).

另外,这种问题通常都存在一个隐含关联对象,他不易被发现.但他可以将原本多对多的关联转换成两个unidirectional 一对多关联.举个例子:

company (1) -- (*) employment (*) -- (1)employee

2004-12-08 21:19

不大明白:多对多关联为什么级联为save-update?delete不可以么?还有:mismatch的问题似乎在 o/r中普遍存在,即使一对多,一对一关联也有mismatch哦,只不过mismatch的类型和方式不同^_^。

2004-12-08 21:24

我上边的问题,可以归结为:
Order和Account这两个模型,是否应该Account中有多个Order?即

class Account{
private name;
......
private Set orders; //一对多个Order?
......
}

让您来做这个建模的话,怎样进行?(需求上有根据用户帐号查询订单列表的需求)

2004-12-09 09:26

"不大明白:多对多关联为什么级联为save-update?delete不可以么?还有:mismatch的问题似乎在 o/r中普遍存在,即使一对多,一对一关联也有mismatch哦,只不过mismatch的类型和方式不同^_^。"

因为两端的对象或实体都有自己的生命周期,删除任何一端另一端都不应被级联删除。

3Go 1 2 3 下一页

赞助商链接

赞助商链接

返回顶部

移动版 关于本站 使用帮助 联系反馈 最佳分辨率1366x768
OpenSource JIVEJDON Powered by JdonFramework Code © 2002-20 jdon.com