Что ж, это только в том случае, если вы предполагаете, что пользователь и профиль имеют отношение 1: 1.
Если это гарантированно всегда будет иметь место, то причина разделения может быть чисто эстетической, однако все же могут существовать эксплуатационные причины для разделения этих двух.
Например, данные профиля могут быть доступны другим пользователям, часто могут быть кэшированы без особого рассмотрения для быстрой аннулирования и т. Д.
Это концептуально разные виды данных, даже если они имеют отношение 1 к 1. Я никогда не кэшировал бы данные для входа в систему пользователя, но тогда я бы не стал программно выставлять их модулям, которые просто требуют данные профиля.
Это логическое обоснование, если отношения 1 к 1 гарантированно сохраняются. Может ли это?
Если вы разрешаете использовать несколько учетных данных (или несколько методов входа) для каждого пользователя, теперь это становится более интересным. Например, сеансы на основе файлов cookie часто хранятся в энергозависимом хранилище на стороне сервера (редко требуется постоянство этих данных). Хотите ли вы, чтобы эта информация указывала на объект пользователя или объект профиля?
Вы можете иметь однонаправленное отношение - есть указатель от пользователя к профилю, но не от профиля к пользователю. Таким образом, модули, содержащие данные профиля, не могут изменять данные для входа.
Наконец, что если вы используете решение, такое как Facebook, которое позволяет использовать несколько адресов электронной почты для входа на пользователя и, скажем, дополнительно входить через OpenID и через приложение iPhone / Android? Согласитесь ли вы, что Профиль и Пользователь остаются прежними?