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

请教初学DDD和四色原型设计的困惑

    
2009-01-09 10:30
赞助商链接

以前做系统都一直是使用面向数据库设计,做过挺多系统, 都是使用J2EE的。
经过最近这几个月在Jdon学习,DDD的书也看了一半。 实体、值对象、服务。也有初步理解。对DDD提出的领域建模驱动设计的方法很认同,毕竟在这几年的开发过程一直忍受使用java开发面向数据库设计系统带来的痛苦。

刚好又有新的项目,这次我决定一定要在该项目实践DDD,建立一个基于面向对象设计的系统。不过凡事开头难,从以前开始就数据库建模,转变到想使用UML建立模型的确有点困难。在开始设计碰到很多困惑。在这里提出,大家给点意见。

新的项目是一个考试系统。目前开始对题库管理模块建摸。需求如下。

题库管理是维护考试系统题目, 题目分单选题,多选题,判断题。 题目是按科目分类的。功能就是CRUD。

建立模型如下:


Question :题目
题目有多个子类。
SingleSelectQuestion:单选题。
MultiSelectQuestion:多选题
JudgeSelectQuestion:判断题。

QuestSpec是抽象问题的标准,符合这个标准才可以保存到数据库。比如单选题目只能有一个标准答案。
QuestionService是服务类,提供操作题目的服务。

每个题目属于一个考试科目ExamSubject , 考试科目属于某一个考试Exam
建模的时候,我使用四色呀原型标识类。

建立完这个模型后,总觉得缺少什么东西。模型看起来了协调。但是一时很难想出。觉得应该每把Dao类画出来。



2009-01-09 10:35

使用四色原型标识时, 找不到role原型。 ExamSubject 和 Eaxm 应该是 PPT.

2009-01-09 10:37

"发完主题后,不能修改的?是bug的吗?,回贴就可以修改."

在这个模型中,有一点设计起来感觉很有问题. 那就是 QuestSpec (题目标准类) 该类是为了来判断题目的内容是否符合标准. 比如单选题(SingleSelectQuestion)只能有一个答案. 多选题(MultiSelectQuestion)可以有多个答案. 是否需要这样抽象出来值得考虑一下.那是否将标准判断加入到每个对象里面.

是否去掉QuestSpec ,然后在SingleSelectQuestion加多一个isValite()方法,判断是否符合单选题的要求.
[该贴被BinnyJ于2009-01-09 11:23修改过]

2009-01-13 11:14

学习DDD也挺困难的...学习过程出现的问题 ,没有人能一起讨论..

还是 面向数据库设计 比较容易.

2009-01-13 20:27

学习就是个困难的过程,其中只有不停的探索,而且很多时候都不能得到帮助,只能依靠自己。我也有过这样的感受。但是继续努力吧,只要坚持就会有很大的收获的。

你的帖子看了几次,但是我不了解4色图。

你这个图貌似UML,但是又不能按照UML去解读。

3Go 1 2 3 下一页

赞助商链接

赞助商链接

返回顶部

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