Я бы выбрал второй вариант.
В настоящее время работает над приложением Silverlight, в котором хранятся данные о состоянии объектов домена.
У нас есть то, что называется ApplicationManager, который разрешается через IoCхранить справочные данные и данные домена.Возможно, этот термин лучше, чем ApplicationManager, но на сегодняшний день не найдено стандартного соглашения об именах.
Концепция работает хорошо, все наши модели представлений имеют доступ к ApplicationManager, поэтому все, что мы передаем, это идентификаторы сущностейкогда другая часть приложения должна предпринять действия.
Если у вас есть асинхронные операции по обновлению данных, вам следует помнить о том, чтобы интерфейс и хранилище данных были согласованными