design-patterns - IRepository 接口(interface)属于哪里?

标签 design-patterns

在典型的三层系统中,GUI->DOMAIN->DAL,IRepository 属于哪里?它属于 DOMAIN 还是 DAL。我对正交性和服务层了解不够,不知道有什么区别。(编辑)请允许我澄清一下。 IRepository接口(interface)应该在哪里(在哪一层?)定义? IRepository 应该在哪一层实现?请允许我进一步澄清...我正在尝试将 Fowlers“分离接口(interface)”与 IRepository 混合在一起。我关心的是执行依赖性规则。如果 IRepository 是在 DOMAIN 中定义的,那么 DAL 包将依赖于 DOMAIN。否则,反之亦然,IRepository 是在 DAL 中定义的,那么 DOMAIN 将依赖于 DAL。再说一遍,IRepository 属于哪里?这是我的第三次编辑。

最佳答案

通常,IRepository(或者更具体的接口(interface),如 IUserRepository)属于 DOMAIN 层。存储库特定于 DOMAIN 层,旨在与聚合根一起使用。因此位置。 但IRepository的实现当然属于DAL。然后,您可以使用 IoC 将所有内容粘合在一起。

关于design-patterns - IRepository 接口(interface)属于哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6448837/

相关文章:

oop - 为什么工厂方法是类模式,而抽象工厂是对象模式?

swift - MVC:在哪里存储数据?

java构建器模式和变化的字段

java - 在策略模式和将多个类写入文本文件方面遇到问题

java - 为什么向 Java 接口(interface)添加新方法会破坏依赖旧版本的客户端?

java - 将派生类的所有 setter 放置到 util 类是一个好的设计吗?

php - Zend Framework 应用程序设计—— session 变量是否应该在模型层访问

c# - session 状态反模式(或一般的全局状态)

c# - 工作单元模式的泛型问题

javascript - jQuery Deferred/Promise 设计模式和用例