【发布时间】:2009-08-26 23:32:54
【问题描述】:
两部分问题
我有一个产品聚合;
价格 包装选项 产品描述 产品图片 等等
我已经为一个产品存储库建模,并且没有为任何子类创建单独的存储库。所有数据库操作都通过产品存储库处理。
到目前为止,我是否正确理解了 DDD 概念?有时我会想到一个问题,即拥有一个用于打包选项的存储库可以让我的生活更轻松,方法是使用其 ID 直接从数据库中获取打包选项,而不是要求产品存储库在其 PackagingOptions 集合中找到它并给出它给我..
第二部分是使用 ASP.MVC 框架管理编辑创建操作
我目前正在尝试通过产品控制器管理这些子产品集合的所有添加编辑删除(听起来对吗?)。
我现在面临的一个挑战是:
如果我通过编辑产品的特定包装选项
mydomain/product/editpackagingoption/10
我可以访问包装选项的 ID
但我没有自己的产品 ID,这迫使我编写查询以首先找到具有此特定包装选项的产品,然后编辑该产品和相关包装选项。我可以这样做,因为所有包装选项都有其唯一 ID,但如果我有没有唯一 ID 的集合,这将失败。
感觉很不对劲。。
我想到的下一个选项是在 url 上同时发送产品和包装选项 ID,例如;
mydomain/product/editpackagingoption/3/10
但我也不确定这是否是一个好的设计。
所以我有点困惑。可能对这一切有根本的误解......
如果您能接受这个冗长的问题并帮我整理一下,我将不胜感激。谢谢!
【问题讨论】:
-
好问题。我无法回答,但在没有产品 ID 的情况下,这有关系吗?如果是一对一的,那么 PackingOption 应该有它自己的 ProductID?
-
它有一个productid,保存在数据库中。挑战是我如何在没有包装选项存储库的情况下到达那里。
标签: asp.net-mvc design-patterns domain-driven-design