N-Layer Architecture

Я оказался в ситуации, когда мне нужно было спроектировать и внедрить систему с нуля. У меня есть несколько вопросов об архитектуре, по которым я хотел бы получить ваши комментарии и мысли.

Краткая информация о проекте: это веб-приложение, ориентированное на данные.

Приложение будет построено на Microsoft .NET Framework 4.0 с базой данных MS SQL SERVER 2008.

Требование:

  1. Богатый пользовательский интерфейс и надежный
  2. Поддержка нескольких устройств (в каждом браузере и на каждом устройстве)
  3. Слабосвязанная

Ниже приведена построенная мной архитектурная диаграмма:

enter image description here

Брифинг по архитектура

  1. Уровень представления: HTML5 / ASP.NET MVC + JQuery (веб-приложение для поддержки нескольких устройств в первой версии)
  2. Распределенные службы: WCF (XML / JSON / JSONP)
  3. Уровень домена (бизнес-уровень): вся бизнес-логика
  4. Сохранение данных (DAL Layer): Entity Framework 4.0 с первым подходом к базе данных. Сущности POCO генерируются и разделяются с использованием шаблона T4
  5. Инфраструктурный уровень: содержит общие библиотеки, такие как объекты POCO, обработка исключений, ведение журнала и т. Д.

Мои проблемы:

  1. Поскольку приложение должно быть построено слабо связано ], поэтому в будущем, если бизнес-требования будут расти, можно будет легко подключать новые модули, не влияя на архитектуру. Поэтому я подумал об использовании шаблона репозитория вместе с IoC и DI (может быть Unity / Ninject / Sprint.NET или любым другим)
  2. WCF с поддержкой XML и JSON
  3. Уровень распределенных сервисов для размещения IoC и DI
  4. ] Обработка исключений и ведение журнала с использованием Enterprise Library 5.0

Нужны ценные комментарии и предложения. Если я делаю что-то не так, пожалуйста, направьте меня в правильное русло.

6
задан David Clarke 29 October 2013 в 20:27
поделиться