В чем видишь недостаток такого способа?
№1
SomeUpdateRequest {
fullName: string,
signature: string
}
....
Author.updateBio(request.fullName, request.fullName); // валидный код, ничего не упало
№2
если под сервисом ты имешь в виду тоже самое, что и большинство остальных, то:
сервис штука сложная, хер пойми где заканчивается его граница ответственности и как покрывать тестами всё это, когда у тебя зависимостей хотя бы штук 5 будет. у сущности\VO зависимостей меньше. переносишь поведение туда -> легче тестировать.