Я оказался в ситуации, когда мне нужно было спроектировать и внедрить систему с нуля. У меня есть несколько вопросов об архитектуре, по которым я хотел бы получить ваши комментарии и мысли.
Краткая информация о проекте: это веб-приложение, ориентированное на данные.
Приложение будет построено на Microsoft .NET Framework 4.0 с базой данных MS SQL SERVER 2008.
Требование:
- Богатый пользовательский интерфейс и надежный
- Поддержка нескольких устройств (в каждом браузере и на каждом устройстве)
- Слабосвязанная
Ниже приведена построенная мной архитектурная диаграмма:
Брифинг по архитектура
- Уровень представления: HTML5 / ASP.NET MVC + JQuery (веб-приложение для поддержки нескольких устройств в первой версии)
- Распределенные службы: WCF (XML / JSON / JSONP)
- Уровень домена (бизнес-уровень): вся бизнес-логика
- Сохранение данных (DAL Layer): Entity Framework 4.0 с первым подходом к базе данных. Сущности POCO генерируются и разделяются с использованием шаблона T4
- Инфраструктурный уровень: содержит общие библиотеки, такие как объекты POCO, обработка исключений, ведение журнала и т. Д.
Мои проблемы:
- Поскольку приложение должно быть построено слабо связано ], поэтому в будущем, если бизнес-требования будут расти, можно будет легко подключать новые модули, не влияя на архитектуру.
Поэтому я подумал об использовании шаблона репозитория вместе с IoC и DI (может быть Unity / Ninject / Sprint.NET или любым другим)
- WCF с поддержкой XML и JSON
- Уровень распределенных сервисов для размещения IoC и DI
- ] Обработка исключений и ведение журнала с использованием Enterprise Library 5.0
Нужны ценные комментарии и предложения.
Если я делаю что-то не так, пожалуйста, направьте меня в правильное русло.
задан David Clarke 29 October 2013 в 20:27
поделиться