Я новичок в .Net и пытаюсь кое-чему научиться. Я пытаюсь разработать приложение Prism4 WPF с
- Visual Studio CSharp 2010 Express Edition,
- Prism v4,
- Unity как IoC,
- SQL Server CE в качестве хранилища данных.
Я много изучал (?) И на меня повлияли this и this среди других, и я решил реализовать шаблоны MVVM, Repository и UnitofWork. Это приложение будет настольным приложением с одним пользователем (я: -)
Итак, я создал решение со следующими проектами:
- Shell (Схема приложения и логика запуска)
- Common (Инфраструктура приложения) и логика рабочего процесса)
- BusinessModuleA (представления и модели представления)
- BusinessModuleA.Model (бизнес-объекты - POCO)
- BusinessModuleA.Data (репозитории, доступ к данным (EF?))
- BusinessModuleB (представления и модели представлений)
- BusinessModuleB.Model (Business Entities - POCO)
- BusinessModuleB.Data (Repositories, Data Access (EF?))
Мои вопросы:
- Какие проекты должны ссылаться на какие проекты?
- Если я реализовать репозитории в BusinessModuleX.Данные ', то есть
очевидно, где я должен определять IRepositories?
- Где я должен определять IUnitOfWork и где я должен реализовывать UnitOfWork?
- Можно ли использовать UnitOfWork и Repositories в своих ViewModels?
Instict говорит, что это плохой дизайн.
- Если (4) выше неверно, тогда ViewModel должен получать данные через Службу.
Слой (другой проект?). Тогда как мы можем отслеживать изменения в
сущностей, чтобы вызвать соответствующие методы CRUD для этих объектов на уровне обслуживания?
- Имеет ли это какой-либо смысл, или я упускаю общую картину?
Хорошо, может быть, я не ясно выразился именно то, что я хотел в своем первом посте. Впереди не так много ответов. Я все еще ищу ответы, потому что, хотя то, что предложила @Rachel, может быть эффективным для немедленных требований, я хочу быть осторожным, чтобы не загнать себя в угол. У меня есть база данных Access, которую я разработал для личного использования в Office, которая стала своего рода успехом и теперь используется более чем 50 пользователями и продолжает расти. Вначале поддерживать и изменять базу кода доступа было довольно просто, но по мере развития приложения оно начало разваливаться. Вот почему я решил переписать все в .Net / Wpf / Prism и хочу убедиться, что правильно понял базовый дизайн.
Пожалуйста, обсудите.
Тем временем я придумал это ...
задан Adam Lear 15 January 2012 в 03:01
поделиться