【发布时间】:2012-01-27 02:57:48
【问题描述】:
可能重复:
Why not use an IoC container to resolve dependencies for entities/business objects?
我过去问过very similar question。但是,我相信这不是自我重复:我最初问题的(好的)答案是针对这个领域问题非常具体的,而不是一般性地讨论这个问题。
让我们举一个我遇到的新例子:
- 我有一个
Zone实体,有一个关联的边界; - 我有一个
Store实体,它有一个location和一个zone属性; -
ZoneRepository可以找到包含特定位置的Zone。
Store 的zone 属性永远不应直接设置,而应在分配此属性时从location 中扣除。因此,我觉得这样做是合乎逻辑的:
class Store
{
public void setLocation(Point location, ZoneRepository repo)
{
this.location = location;
this.zone = repo.findByLocation(location);
}
}
这种方法有缺点和注意事项吗?如果是这样,您能否提出现实的替代方案?
【问题讨论】:
-
这不是重复的问题。这个问题是关于 DDD 的观点,假设的重复问题与 DDD 无关
-
@fabien7474 欢迎来到 StackOverflow,投票孕育另一个。如果您认为值得,您可以投票重新提出这个问题!
标签: dependency-injection domain-driven-design repository repository-pattern ddd-repositories