Реализуйте бизнес-логику в виде чистых функций (v1.0.0)

Реализуйте бизнес-логику в виде чистых функций (v1.0.0)

Большая часть "чистоты" уже покрыта принципами неизменяемых агрегатов и разделения бизнес-логики и ввода-вывода. По большому счёту осталось только исключить доступ к глобальному окружению (текущее время, переменные окружения и т.д.) и использование изменяемых типов из стандартной библиотеки (преимущественно коллекций) в сигнатурах методов (локальные изменяемые переменные допустимы).

Так же для Kotlin и Java Эргономичный подход допускает побочный эффект выбора исключения из функции бизнес-логики см. шаблон "Обработка ошибок".