Это мой первый вопрос по SO. Я знаю, что было много тем о Silverlight и архитектуре, но не нашел ответов, которые меня устраивали. Я являюсь разработчиком ASP.NET MVC и работаю над архитектурами, построенными на основе передового опыта (слабая связь с DI и т. Д.)
Теперь я сталкиваюсь с новым проектом Silverlight 4 и хотел бы быть уверен, что я делаю лучший выбор, поскольку у меня нет опыта. Основные функции, необходимые для приложений, следующие:
- использовать существующую базу данных SQL Server, но с возможностью перехода в облако.
- с использованием EF4 для доступа к данным с SQL Server.
- exitensibility: добавление новых модулей без смены основного хоста.
- слабая связь.
Я просматривал различные веб-трансляции (Taulty и т. Д.), Блоги о Silverlight и придумал следующую архитектуру.
- EF 4 для доступа к данным (как указано в требованиях)
- Службы RIA WCF для промежуточных уровней, контролирующие доступ к данным для запросов и обеспечивающие сквозную поддержку проверки данных, аутентификации и ролей.
- MEF Поддержка включения модулей.
- Unity 2.0 для DI.
Проблема в том, что я не знаю, как определить надежную архитектуру, где все эти элементы хорошо сочетаются друг с другом. Должен ли я использовать рамки вместо Prism или Caliburn? Но пока я не уверен, какие сценарии они поддерживают.
Как лучше всего использовать Unity в Silverlight? Раньше я использовал IoC в ASP.NET MVC для связывания циклов и других вещей, таких как перехват для ведения журнала аудита. Похоже, что для Silverlight Unity не поддерживает перехват. Я хотел бы использовать его для обеспечения слабой связи и, при необходимости, для перехода в облако.
Заранее спасибо за помощь.