Сергей Горностаев, да слои примерно такие:
- контроллер grpc
- бизнес логика - может быть несколько слоев или не быть совсем
- слой сервиса о котором я написал в вопросе
- репозиторий
В котлине есть так называемые Scope functions, которые позволяют избежать перомежуточных переменных. Я решил использовать Optiona...map() с этой целью.
Я тернарный оператор я упомянул потому, то там нельзя аргументом написать две строки вот так:
var something = getSomething();
var a = new Class1(something, something, something);
а используя Optional можно
val b = condition ? firstValue : Optional..map().get()
- контроллер grpc
- бизнес логика - может быть несколько слоев или не быть совсем
- слой сервиса о котором я написал в вопросе
- репозиторий