簡體   English   中英

Hamani:實體和存儲庫有什么區別?

[英]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 模型分成兩個職責:一個負責實現業務邏輯,另一個負責處理數據庫。


驗證:我們不會將驗證與模型混合使用。 鼓勵您將驗證放在InteractorsActions 中

原因在我的 一篇博文中有解釋。 [請注意花見原名蓮花]

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM