Я не верю, что ваш вопрос отвечает, потому что так много ответов "это зависит".Это зависит от приложения, которое вы создаете, и от потребностей пользовательского интерфейса.
Я не совсем понимаю ваше различие между «состоянием домена» и «состоянием приложения».Тем не менее, я считаю, что любые классы стилей «Value Object», реализованные в пользовательском интерфейсе, должны фокусироваться на поддержании состояния определенных представлений.Крайне редко, когда одно представление является отношением один к одному с таблицами базы данных.Таким образом, мои объекты данных пользовательского интерфейса могут не совпадать с объектами данных на стороне сервера.Хотя очень часто я сопоставляю объекты пользовательского интерфейса с объектами на стороне сервера, используя AMF.Но это не означает, что каждый объект в пользовательском интерфейсе реализован на стороне сервера, а каждый объект сервера реализован на пользовательском интерфейсе.
Я вижу, что люди не хотят добавлять сложные отношения к классам VO,
Я не уверен, где вы это видите;Я часто буду делать именно это.Однако это зависит от того, что вид должен отображать.Если вид не отображает много фотографий, связанных с пользователем, то я не буду делать удаленный вызов, чтобы получить информацию о пользователях со всеми их фотографиями.
При таком количестве обращений к серверу нормально выбрать некоторые объекты, которые могут уже находиться в хранилище клиента.
Это зависит.Я бы сказал, что приложения, которые я пишу, обращаются к серверу по мере необходимости;и предпринимаются попытки ограничить их соответствующим образом.Если я уже получил данные и кэшировал их на клиенте, то я попытаюсь использовать этот кэш вместо получения данных снова.
Я повторю свою первоначальную оценку: я думаю, что ответы на большинствоваши вопросы зависят от ситуации, и зависят от приложения.Кажется, вы начинаете с общих рассуждений о том, как все делается.Тем не менее, я не верю, что они универсальные истины.Борьба разработчиков за проблемы архитектуры приложений все время.