Я слышал, что компании, использующие технологии Java, использовали для создания собственной пользовательской Framework, которая обертывает Hibernate. Однако действительно ли возможно, чтобы их .Net-сверстники делали то же самое с NHibernate или Entity Framework?Возможно ли построить инфраструктуру компании, которая обертывает NHibernate?
ответ
Я использую шаблон хранилища и отдельный проект/dll для абстрагирования структуры фреймворка nhibernate/entity. это хорошая отправная точка http://codebetter.com/petervanooijen/2008/04/04/wrapping-up-nhibernate-in-repositories/
Это почти всегда ужасная идея - я думаю, что Айенде подводит итоги в this article. В общем, вы должны рассматривать NHibernate как «обертку» вокруг вашего доступа к данным - попытка создать слой абстракции поверх него, вероятно, будет потерянным предложением.
На самом деле, вы должны ознакомиться с некоторыми статьями на .NET Junkie's weblog. Он написал несколько замечательных сообщений о том, как обращаться с репозиториями, queries, commands и так далее. Мы использовали их в очень крупной корпоративной системе, где мы переключаемся между словарем в памяти, базой данных SQLite в памяти и производственной средой с использованием SQL Server или Oracle. Очевидно, для этого мы используем NHibernate.
Можете ли вы рассказать немного больше о стоимости вашего каркаса. Потому что существует множество фреймворков, которые могут работать вместе с NHibernate и добавлять ценность. Написав один, вы должны начать с бизнес-кейса, чтобы убедиться, что это хорошая инвестиция. – Peter