Бизнес-логика в модели домена или в службе приложений? (в подходе доменно-ориентированного проектирования)C#

Место общения программистов C#
Anonymous
Бизнес-логика в модели домена или в службе приложений? (в подходе доменно-ориентированного проектирования)

Сообщение Anonymous »

Моя архитектура — это «Чистая» архитектура, а мой подход — «Проектирование на основе предметной области».
У меня есть Два подхода к обработке бизнес-логики в моем проекте C#. Но я не знаю, какой из них использовать.
Мои бизнес-правила в службе приложений:
public class UserEntity
{
public bool CanSendMessage()
{
//Rule
return true;
}
public void SendMessage(string Message, int To)
{
//...
}
}
public class UserService
{
//DI userRepository
public ErrorOr SendMessage(int UserId,string Message,int To)
{
var currentUser = userRepository.FirstOrDefault(x=>x.UserId == UserId);
if (!currentUser.CanSendMessage()) { throw new Exception("Only 10 Message In One Day"); }
currentUser.SendMessage(Message, To);
//...
}
}

Или

Мои бизнес-правила в модели домена:
public class UserEntity
{
public bool CanSendMessage()
{
//Rule
return true;
}
public void SendMessage(string Message, int To)
{
if (!CanSendMessage()) { throw new Exception("Only 10 Message In One Day"); }
//...
}
}
public class UserService
{
//DI userRepository
public ErrorOr SendMessage(int UserId,string Message,int To)
{
var currentUser = userRepository.FirstOrDefault(x=>x.UserId == UserId);
currentUser.SendMessage(Message, To);
//...
}
}


Подробнее здесь: https://stackoverflow.com/questions/790 ... -design-ap

Вернуться в «C#»