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

有个问题假如你的项目当中有些domain字段是数据字典形式的,大家是怎么ddd的

2009-07-03 14:01
赞助商链接

比如说:
user{
name;
age;
sex:(比如,这些有可能以字典形式设计的(而不设计成枚举的),因为以后方便增加类型)
}
大家会怎么设计会,是会把sex设计成String,还是有一个关联?
1.设计成String的缺点是,假如我以后更改了类型,在user里面保存的旧类型就匹配不上
2.假如设计成字典类型,又不能直观的在代码当中体现出类型就像枚举那样,而且也和相应的数据库绑定在一起。
没有相应的表数据你就不知道有多少种类型。
虽然他是个值对象,但是是否有一种方式可以很好的兼顾两者,即能很好的扩充类型,又能得到很好的领域代码。

我不知道我这样描述是否大家回听得懂否,希望大家一起来讨论下。

2009-07-03 14:08

而且这也引申了一个问题,像这种业务字段由客户自己去添加的应用,用ddd去提炼领域代码似乎有点勉强。我看过的千篇一律都是以数据表字典来做这件事的,一些业务类型都是在存在数据表当中。假如要重用这领域代码,要连同这些类型表一起打包。

2009-07-03 17:27

SEX如果会变化,那么就以类继承方式扩充。

赞助商链接

赞助商链接

返回顶部

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