Hamani:实体和存储库有什么区别?
Hamani: Entities and Repositories what is the difference?
我继续自己研究 hanami,并且我 运行 了解到在生成用户模型时,hanami 会生成 2 个包含文件的实体和存储库目录
user.rb 实体目录
class User < Hanami::Entity
end
user_repositories.rb 存储库目录
class UserRepository < Hanami::Repository
end
我阅读了文档,但我仍然不明白其中哪些 类 应该描述关联验证,或者为什么原则上需要这些 类 中的每一个,因为在 RoR 中我们需要 1 个模型。请解释(
这里是 Hanami 的 Luca :)
An entity is domain object that is defined by its identity.
An entity is at the core of an application, where the part of the domain logic is implemented. It’s a small, cohesive object that expresses coherent and meaningful behaviors.
An object that mediates between entities and the persistence layer. It offers a standardized API to query and execute commands on a database.
简而言之:实体是您的业务逻辑和数据持有者,存储库是 read/write 数据 from/to 数据库的一种方式。
如果您熟悉 Rail 的 ActiveRecord,它就像将一个 Rails 模型分成两个职责:一个实现业务逻辑,一个处理数据库。
验证:我们不会将验证与模型混合使用。我们鼓励您在 Interactors or in Actions.
中进行验证
原因在blog post of mine中解释。 [请注意 Hanami 以前称为 Lotus]。
我继续自己研究 hanami,并且我 运行 了解到在生成用户模型时,hanami 会生成 2 个包含文件的实体和存储库目录
user.rb 实体目录
class User < Hanami::Entity
end
user_repositories.rb 存储库目录
class UserRepository < Hanami::Repository
end
我阅读了文档,但我仍然不明白其中哪些 类 应该描述关联验证,或者为什么原则上需要这些 类 中的每一个,因为在 RoR 中我们需要 1 个模型。请解释(
这里是 Hanami 的 Luca :)
An entity is domain object that is defined by its identity.
An entity is at the core of an application, where the part of the domain logic is implemented. It’s a small, cohesive object that expresses coherent and meaningful behaviors.
An object that mediates between entities and the persistence layer. It offers a standardized API to query and execute commands on a database.
简而言之:实体是您的业务逻辑和数据持有者,存储库是 read/write 数据 from/to 数据库的一种方式。
如果您熟悉 Rail 的 ActiveRecord,它就像将一个 Rails 模型分成两个职责:一个实现业务逻辑,一个处理数据库。
验证:我们不会将验证与模型混合使用。我们鼓励您在 Interactors or in Actions.
中进行验证原因在blog post of mine中解释。 [请注意 Hanami 以前称为 Lotus]。