Приложение Prism 4 WPF - Архитектура решения с реализованными шаблонами MVVM, репозиториев и единиц работы

Я новичок в .Net и пытаюсь кое-чему научиться. Я пытаюсь разработать приложение Prism4 WPF с

  1. Visual Studio CSharp 2010 Express Edition,
  2. Prism v4,
  3. Unity как IoC,
  4. SQL Server CE в качестве хранилища данных.

Я много изучал (?) И на меня повлияли this и this среди других, и я решил реализовать шаблоны MVVM, Repository и UnitofWork. Это приложение будет настольным приложением с одним пользователем (я: -)

Итак, я создал решение со следующими проектами:

  1. Shell (Схема приложения и логика запуска)
  2. Common (Инфраструктура приложения) и логика рабочего процесса)
  3. BusinessModuleA (представления и модели представления)
  4. BusinessModuleA.Model (бизнес-объекты - POCO)
  5. BusinessModuleA.Data (репозитории, доступ к данным (EF?))
  6. BusinessModuleB (представления и модели представлений)
  7. BusinessModuleB.Model (Business Entities - POCO)
  8. BusinessModuleB.Data (Repositories, Data Access (EF?))

Мои вопросы:

  1. Какие проекты должны ссылаться на какие проекты?
  2. Если я реализовать репозитории в BusinessModuleX.Данные ', то есть очевидно, где я должен определять IRepositories?
  3. Где я должен определять IUnitOfWork и где я должен реализовывать UnitOfWork?
  4. Можно ли использовать UnitOfWork и Repositories в своих ViewModels? Instict говорит, что это плохой дизайн.
  5. Если (4) выше неверно, тогда ViewModel должен получать данные через Службу. Слой (другой проект?). Тогда как мы можем отслеживать изменения в сущностей, чтобы вызвать соответствующие методы CRUD для этих объектов на уровне обслуживания?
  6. Имеет ли это какой-либо смысл, или я упускаю общую картину?

Хорошо, может быть, я не ясно выразился именно то, что я хотел в своем первом посте. Впереди не так много ответов. Я все еще ищу ответы, потому что, хотя то, что предложила @Rachel, может быть эффективным для немедленных требований, я хочу быть осторожным, чтобы не загнать себя в угол. У меня есть база данных Access, которую я разработал для личного использования в Office, которая стала своего рода успехом и теперь используется более чем 50 пользователями и продолжает расти. Вначале поддерживать и изменять базу кода доступа было довольно просто, но по мере развития приложения оно начало разваливаться. Вот почему я решил переписать все в .Net / Wpf / Prism и хочу убедиться, что правильно понял базовый дизайн.

Пожалуйста, обсудите.

Тем временем я придумал это ...

6
задан Adam Lear 15 January 2012 в 03:01
поделиться