Хамани: Сущности и репозитории, в чем разница?
Я продолжаю изучать ханами самостоятельно и столкнулся с тем, что при генерации модели пользователя ханами генерирует 2 сущности и каталоги репозиториев, которые содержат файлы.
user.rb в каталоге сущностей
class User < Hanami::Entity
end
user_repositories.rb в каталоге репозиториев
class UserRepository < Hanami::Repository
end
Я читал документацию, но так и не понял, в каком из этих классов следует описывать валидацию с ассоциациями или зачем каждый из этих классов в принципе нужен, так как в RoR нам нужна была 1 модель. пожалуйста, объясни (
1 ответ
Лука из Ханами здесь :)
Сущности :
Сущность - это объект домена, который определяется своей идентичностью.
Сущность - это ядро приложения, в котором реализована часть логики предметной области. Это небольшой сплоченный объект, который выражает связное и значимое поведение.
Объект, который является посредником между сущностями и слоем постоянства. Он предлагает стандартизированный API для запроса и выполнения команд в базе данных.
В двух словах: сущности - это ваша бизнес-логика и держатель данных, репозитории - это способ чтения / записи данных из / в базу данных.
Если вы знакомы с ActiveRecord Rail, это похоже на разделение модели Rails на две обязанности: ту, которая реализует бизнес-логику, и ту, которая имеет дело с базой данных.
Валидации: мы не смешиваем валидации с моделями. Рекомендуется размещать проверки в интерактивных элементах или в действиях .
Причина объяснена в в моем сообщенииблоге . [Обратите внимание, что Ханами раньше назывался Лотос] .