如何处理域对象层次结构

时间:2015-11-09 19:05:49

标签: model-view-controller domain-driven-design hierarchy datamapper

我正在制作个人项目,操纵体育比赛中的赌注和赔率列表。 所以我有一个 sport->事件 - >匹配 - > bet->奇 要处理的层次结构。

我试图这样做,也作为一个练习,因为我对这些概念都很陌生,就Teresko在他的精彩帖子中所描述的规则而言:< / p>

How should a model be structured in MVC? (总而言之,他的答案解释了MVC应用程序的模型层通常由域对象,数据映射器和服务组成)

我需要的一个功能是生成当天比赛的列表,同时显示他们所附加的体育和赛事的一些数据,以及附加的投注和赔率他们。

我无法弄清楚如何正确设计这种层次结构。 我目前的想法是假设体育,事件,比赛等等我的层次结构树的节点都是域对象,并且将具有其关联的数据映射器。 我的层次结构也是一个域对象,它将处理有关树结构的信息,并拥有它自己的dataMapper。 dataMapper会实现横向抓取工作,比如返回当天的匹配。 这最终将成为不同表格和属性的一个大联接,5个不同的节点数据映射器(一个用于运动,一个用于事件等)将为他提供。

我真的觉得我在这里错过了一些东西,这不是要走的路。 但是这种组织听起来很普遍,所以我希望你们可以知道一些平常而优雅的处理方式。

提前感谢,

祝大家度过愉快的一天。

1 个答案:

答案 0 :(得分:0)

当您使用DDD标签时,考虑DDD的一个基本概念会对您有所帮助;有界的背景。

听起来你的应用程序有很多;固定装置(正在进行的游戏,何时何地),投注(赔率,投注)等等。您的问题表明,您正在尝试提出一个统一的模型,以满足所有这些与DDD所需的完全相反的问题。如果你使用单片模型设计它,你将会陷入复杂的困境。

尝试根据域语言确定问题的所有责任之间的界限,而不是基础架构。