|
|
1
18
存储库是一个门面;抽象。
你说, “但我觉得有点奇怪,我可以从两个不同的存储库中获得相同的记录。” 这告诉我,他们实际上是 如果真是这样,那么你在这里得到的是一个公共基类的子类(例如,可以在数据库中很容易地建模,并使用NHibernate优雅地处理)。
我有一个返回Broadcast对象的存储库。我可以将其转换为FileBroadcast来操纵有关FileBroadcast的特定信息,或者出于同样的原因,我可以将它转换为DeviceBroadcast——如果它是那种类型的话。广播不能同时是FileBroadcast和DeviceBroadcast类型。它必须是其中之一。 在数据库中,我将通用广播参数存储在broadcast表中,然后将特定于文件的属性存储在FileBroadcast表。DeviceBroadcast表也是如此;分开。然而,当我通过存储库查询时,我只想要广播。这是我的根聚合对象,因此也是我的存储库。
你似乎也有类似的情况,这就是我分享我的设计的原因。我认为它可能对你很有用。
|
|
|
Birdalicious · 带日志的装饰图案 1 年前 |
|
|
Saulo Torres · 依赖注入程序在DDD项目上不起作用 2 年前 |
|
|
yyqwerty · 领域驱动设计与Scala[关闭] 2 年前 |
|
|
Tony Raimo · 域实体是否应该调用存储库? 8 年前 |
|
|
Seb · DDD只读存储库返回“值对象” 8 年前 |