Closed garmoshka-mo closed 9 years ago
Для меня логичнее, что User - главный объект в приложении, у него может быть много чатов, он может создать чат, а не чат может создать юзера. Если есть необходимость использовать Юзера у чата, у каждого него есть поле currentUser, в котором содержатся владелец чата и из которого можно вытащить всю необходимую инфу + сейчас метод addChat и parseFromStorage использует Chat, поэтому если его убирать, то надо будет переделывать много
он может создать чат
В реальной жизни по факту практически все действия иницииурет пользователь. Если вы будете следовать этой логике - у вас User будет содержать 100500 инъекций
у каждого него есть поле currentUser
а если нужно получить юзера из абстрактной сессии или других инджекнутых внутрь сервисов?
то надо будет переделывать много
Переделывать надо весь user по любому, см. #1 в данном случае "надо будет переделывать" - точно не аргумент
900 строк - жесть Как только класс начинаете переваливать за 200 - делите его сразу на несколько классов, не доводите до такой каши
убрать Chat dependency!
Разумно, что чат может потребовать информацию о текущем юзере, а вы сделали в user обратную зависимость на класс Chat, что во-первых не имеет никакого логичного смысла, во вторых блокирует логичные инъекции (user -> chat)