Не существует единственно верного способа принять это решение.В зависимости от вашего приложения, вы должны сначала выбрать архитектуру, которая подходит вам лучше всего.Популярные варианты в Android включают, но не ограничиваются ими, MVP (Model View Presenter) и MVVM (Model View View Model).
Как только вы примете это решение, вы можете начать думать о том, какой метод работает лучше для вас,Вам не нужно выбирать между несколькими действиями и действиями с несколькими фрагментами.Вы можете иметь несколько видов деятельности, каждое из которых может содержать несколько фрагментов.С новым Навигационным компонентом , входящим в состав Архитектурных компонентов , Google предлагает простые способы управления транзакциями фрагментов и обратным стеком, что в прошлом оказалось болезненным для большинства разработчиков.Таким образом, управлять фрагментами так же просто, как управлять действиями, и вы можете выбрать то, что лучше всего подходит для вас, не беспокоясь о транзакциях, бэк-стеках, навигации и т. Д.
Сам я предпочитаю использовать разные действия для отдельных задач.Процесс входа в систему и настройки принадлежат отдельным действиям, в то время как основные действия приложений (после входа пользователя в систему) обрабатываются как разные фрагменты в одном действии, которое реализует компонент навигации.Это облегчает навигацию между фрагментами и способствует разделению интересов, разделяя различные функции в разных представлениях и моделях докладчиков / представлений.
В целом, эта тема очень субъективна и правильного пути нет.Как отметили другие пользователи, есть много разных тем, на которые вы можете посмотреть, прочитать разные мнения и решить, что лучше для вас.
Кстати, «С точки зрения архитектуры приложения в Kotlin"- используемый вами язык программирования не должен влиять на ваше архитектурное решение.