#asp.net-mvc #nhibernate #fluent-nhibernate #separation-of-concerns
#asp.net-mvc #nhibernate #свободно-nhibernate #разделение проблем
Вопрос:
Во всех разговорах о разделении забот я, кажется, продолжаю сталкиваться с проблемой моего ASP.NET Приложению MVC приходится ссылаться на множество библиотек, связанных с nhibernate и fluent nhibernate, для моего внедрения зависимостей.
Это типично? Есть ли другой способ, которым я должен решать эту проблему? Я пытаюсь поместить всю логику, связанную с NHibernate, в Data
проект, но когда мне приходится подключать ISessionFactory
и ISession
, я должен иметь доступ к ним на моем веб-уровне. Кто-нибудь нашел обходной путь для этого?
Ответ №1:
Честно говоря, беспокоиться не о чем. Я знаю, что вы хотели бы сохранить все зависимости, связанные с данными, вне вашего пользовательского интерфейса, но если вы хотите правильно использовать NHibernate, где у вас есть ISession для каждого запроса, тогда вам нужно настроить его в вашем Application_Start глобального.asax. Конечно, вы, вероятно, могли бы обернуть все в свой собственный интерфейс и скрыть любую зависимость от NHibernate, но это действительно перебор. Не пытайтесь скрыть то, что вы используете, как часто вы собираетесь переключать свой ORM?
Ответ №2:
Я не вижу в этом проблемы, но многие люди видят.
На самом деле, зависит от тебя.
Ответ №3:
да, как правило, вам придется получить доступ ко всем вашим зависимым библиотекам в любом «основном» приложении, чтобы собрать все части воедино.