Является ли DAO - объект доступа к данным - часто используемым шаблоном в .NET?Я всегда использовал DAO как способ предоставления доступа к своему уровню данных.Например, у меня может быть тонкий интерфейс над моим EntityFramework ObjectContext, который представляет все мои ObjectSets как IObjectSet.
Сложные запросы будут затем предоставляться DAO, каждый из которых зависит от этого интерфейса.У меня мог бы быть ProductDAO, который выставляет методы как GetProductsOnSale()
или GetInfrequenlySoldProducts()
.Мои контроллеры или докладчики затем использовали бы эти методы, которые, вероятно, были бы виртуальными, чтобы позволить получать определенные результаты для модульных тестов.
Так это часто используемая идиома в .NET?По некоторым причинам подавляющее большинство примеров, которые я вижу в Интернете с использованием этого шаблона, основаны на Java.Даже этот вопрос о лучших практиках DAO помечен как Java, а не как C #.
Нет ничего плохого в использовании чего-то из другого сообщества, у меня просто небольшой страх, что все вокруг меня делают вещииначе ...