Ответ на ваш вопрос очень контекстуален и может отличаться в разных организациях.Однако на самом деле все сводится к тому, какой из них вам легче управлять, и насколько сложным является ваше приложение.
Переход к варианту 1 означает, что будет проще найти связанные компоненты вместе.Однако становится трудно управлять объектами, которые имеют разные значения в разных контекстах (пользователь при аутентификации может быть покупателем в розничном магазине).
Использование варианта 2 решает проблему, предложенную мной ниже, и позволяет вамподдержите свое приложение, изменив один целый слой вместо погружения в каждую папку.