gpt4 book ai didi

design-patterns - Active Record 和 Repository 模式有什么区别?

转载 作者:行者123 更新时间:2023-12-04 18:16:01 26 4
gpt4 key购买 nike

在我看来,唯一的区别是 Active Record 在数据容器类中有 CRUD 方法,而 Repository 模式对数据容器和 CRUD 方法使用单独的类,但我肯定错了。

Active Record 和 Repository 模式有什么区别?我什么时候应该使用哪种模式?

最佳答案

本质上,您的假设是正确的。存储库和 DAO 模式将持久性问题外部化,而 Active Record 将它们内部化。我实际上已经看到了一些实现,其中事件记录类被注入(inject)了一个存储库实例,该存储库实例在内部提供了它们的持久性问题。

反对使用 Active Record 模式的最大原因很简单,您的域对象不应该关心它们是如何(或即使)它们被持久化的。存储库模式通过将持久性关注点外部化并将其作为外部服务提供,从而为您的域对象提供持久性无知。

关于design-patterns - Active Record 和 Repository 模式有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3329902/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com