Насколько я узнал, IRepository
должен содержать CRUD
. Тогда мы наследуем это IRepository
в наших других интерфейсов , как IProduct
и реализовать IProduct
конкретный класс ProductRepository
, с методами , как GetAllProducts()
, Top5Products()
.
Мы также можем сделать то же самое с n-уровневой архитектурой. как, создание DAL Class Library
и в нем определить класс Product
с методами , как GetAllProducts()
, Top5Products()
.
В обоих DAL.Product
и Repo.ProductRepository
классах мы инициализируем DB Context
из Entity Framework
и запросов наших соответствующих данных.
Вызов похож в обоих Repo.ProductRepository
или DAL.Product
методы изBLL
Ввиду этих сходств, мой вопрос, в чем выгода Repos? Я могу сделать то же самое с большой легкостью , используя многоуровневые архитектуры с ( Controller
, BLL Class Library
, DAL Class Library
).