Из документации по NLayer-Architecture :
Прикладной уровень ... выполняет [s] требуемые функциональные возможности приложения.Он использует объекты передачи данных для получения и возврата данных на уровень представления или распределенного обслуживания....
Уровень домена ... выполняет [s] бизнес / логику домена....
Вот что это означает в комментариях высокого уровня:
// IFriendshipManager implementation
public void CreateFriendshipAsync(Friendship friendship)
{
// Check if friending self. If yes, then throw exception.
// ...
// Insert friendship via repository.
// ...
}
// IFriendshipAppService implementation
public Task<FriendDto> CreateFriendshipRequest(CreateFriendshipRequestInput input)
{
// Check if friendship/chat feature is enabled. If no, then throw exception.
// ...
// Check if already friends. If yes, then throw exception.
// ...
// Create friendships via IFriendshipManager.
// ...
// Send friendship request messages.
// ...
// Return a mapped FriendDto.
// ...
}
Обратите внимание, что проблемы (и соответствующие действия) в AppService
и Manager
немного отличается.
A Manager
предназначен для повторного использования AppService
, другим Manager
или другими частями кода.
Например, IFriendshipManager
может использоваться:
ChatMessageManager
ProfileAppService
TenantDemoDataBuilder
С другой стороны,AppService
должен не вызываться из другого AppService
.
См .: Должен ли я вызывать AppService из другого AppService?