Это довольно общий вопрос, на самом деле ..
У меня есть пользовательский класс (не каждое приложение? :). Определенные пользователи могут выполнять действия с различными объектами, если у них есть соответствующие разрешения. Что может быть лучше для размещения логики авторизации (или любой логики, которая работает с 2 экземплярами)?
Если поместить его в класс User, я получу набор методов user.CanEditComment()
, user.CanEditMessage()
, user.CanDoSomething()
и т. Д. - это может быть несколько методов для каждой сущности, требующей авторизации. Похоже, метод беспорядок.
С другой стороны, я могу поместить эти методы в сущности, например comment.CanBeEditedBy(user)
. Но почему-то это тоже не совсем правильно ...
Есть предложения?
Спасибо!