[英]Hamani: Entities and Repositories what is the difference?
我繼續自己研究 hanami,我遇到了這樣一個事實,即在生成 User 模型時,hanami 會生成 2 個包含文件的實體和存儲庫目錄
實體目錄中的 user.rb
class User < Hanami::Entity
end
存儲庫目錄中的 user_repositories.rb
class UserRepository < Hanami::Repository
end
我閱讀了文檔,但我仍然不明白應該在這些類中的哪些類中描述關聯驗證,或者為什么原則上需要這些類中的每一個,因為在 RoR 中我們需要 1 個模型。 請解釋 (
來自 Hanami 的 Luca 在這里:)
實體:
實體是由其身份定義的域對象。
實體是應用程序的核心,其中實現了域邏輯的一部分。 它是一個小而有凝聚力的對象,可以表達連貫而有意義的行為。
存儲庫:
在實體和持久層之間進行調解的對象。 它提供了一個標准化的 API 來查詢和執行數據庫上的命令。
簡而言之:實體是您的業務邏輯和數據持有者,存儲庫是一種從/向數據庫讀取/寫入數據的方式。
如果您熟悉 Rail 的 ActiveRecord,這就像將 Rails 模型分成兩個職責:一個負責實現業務邏輯,另一個負責處理數據庫。
驗證:我們不會將驗證與模型混合使用。 鼓勵您將驗證放在Interactors或Actions 中。
原因在我的 一篇博文中有解釋。 [請注意花見原名蓮花] 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.