WEB开发网
开发学院软件开发C语言 【渐进】浅尝DDD,对"试卷"建模 阅读

【渐进】浅尝DDD,对"试卷"建模

 2010-09-30 21:05:10 来源:WEB开发网   
核心提示: 领域逻辑的表达不要受UML图的约束,否则可能是问题所在,【渐进】浅尝DDD,对"试卷"建模(2),适当的描述就可以很好的解决这个问题, 关于DDD和UML相关的具体介绍可参考:《UML和模式应用》(第三版)《.NET.Domain.Driven.Design.with.C.S

领域逻辑的表达不要受UML图的约束,否则可能是问题所在,适当的描述就可以很好的解决这个问题。

关于DDD和UML相关的具体介绍可参考:

《UML和模式应用》(第三版)

《.NET.Domain.Driven.Design.with.C.Sharp》

从领域问题,场景中分析找出概念类,确定一组概念类则是OO分析的核心。以下就“试卷”这个领域来进行DDD的分析和设计尝试。

场景描述

试卷由多个大题组成,每个大题下有多道试题,试卷还可以有多个分卷,如分卷I,分卷II,可以统计大题下的试题信息…

概念类提取

从上述描述提取出概念类:试卷,分卷,大题,试题。

UML概念类表达

【渐进】浅尝DDD,对"试卷"建模

几个设计方案

方案一:按级联关系相应设计试卷结构,形成试卷->分卷->大题->试题的结构。

方案二:将试卷的分卷,大题,试题都认为是试卷分块,试卷成为一个试卷分块的线性列表。

方案三:将试卷的分卷,大题等归属于结构相关信息,对试卷抽象出试题列表和试卷结构,

方案比较(略)

方案一完全依赖场景描述设计层级结构,固化了试卷结构,方案二,三的设计思路都是将试题列表设计为线性,屏蔽业务和呈现需求的差异。

最终方案

试卷(Paper)主要由试卷结构(PaperStruct)和试题列表(PaperQuestionList)构成,试卷结构包含试卷分块列表,试卷分块用于表示试卷中的大题概念。

试题列表是为此场景而特化设计的集合,仅仅是对试卷分块(PaperPart)中试题列表的逻辑映射,仅公开部分集合相关操作。

上一页  1 2 3 4  下一页

Tags:渐进 浅尝 DDD

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接