Прочитав в сети тонны статей о наилучшем дизайне приложений и шаблонах, я все еще не могу объединить всю информацию и отобразить в приложении реального слова ...
Я бы хотел иметь трехуровневое приложение:
- UI-Layer:
Silverlight-приложение, размещенное на ASP.net - Webapp
- BusinessLogicLayer:
WCF-Services / .NET RIA-Services, работающие на другом Сервере
- DataAccessLayer: Использование ORM, например, nHibernate или Linq2Entities
Проблема в том, что я не знаю, где разместить свои бизнес-объекты и где их заполнить данными.
Должен ли быть другой слой, содержащий все мои бизнес-объекты, чтобы их можно было использовать во всех остальных 3 слоях?
Или я должен поместить их в мой BLL и вызвать nHibernate-Methods в DAL - но тогда у меня будет циклическая зависимость между BLL и DAL?
Разве это не «чрезмерная архитектура», если я введу «DataAccessObjects» внутри DAL и просто скопирую все свойства в BusinessObjects в BLL?
Любая помощь приветствуется!
С уважением,
Даниэль Ланг