Кажется, что некоторые недостающие части являются центральным местом для служб, необходимых для решения и тестовых проектов. У меня обычно есть что-то вроде этого:
- Sample.Core - сервисы и код, которые необходимо использовать в приложении
- Sample.Data - классы доменов и интерфейсы репозитория
- Sample.Data.NHibernate - файлы отображения, свободно конфигурируемый и т. Д. И реализации репозитория, в основном все, что специфично для слоя отображения данных
- Sample.Services - реализации и интерфейсы служб
- Sample.Web - веб-приложение
У меня есть соответствующее дерево тестовых проектов:
- Тесты \ Sample.Core.Tests
- Тесты \ Sample.Data.NHibernate.Tests
- и т.д ...
Конечно, дерево будет более сложным в зависимости от проекта. Что касается обсуждений, ознакомьтесь с Onion Architecture . Вы также можете ознакомиться с примерами проектов в Domain-Driven Design и посмотреть, что из них можно извлечь.