Я играл с шаблоном хранилища, используя c # и .net.
Мой вопрос касается создания новых экземпляров someRepositoryObject
.Все примеры, которые я видел до сих пор, используют что-то вроде этого:
using(ISomeRepository someRepository = new SomeRepository().getRepository())
{
IsomeRepositoryObject repObj = new someRepositoryObject();
}
Не вызывает ли вызов new someRepositoryObject
удаление цели использования интерфейсов?Было бы лучше сделать что-то вроде:
using(ISomeRepository someRepository = new SomeRepository().getRepository())
{
IsomeRepositoryObject repObj = someRepository.NewsomeRepositoryObject();
}
Таким образом, сам репозиторий возвращает новый экземпляр требуемого объекта, и вызывающий код не знает, какой класс ему передается, просто он имеет типISomeRepositoryObject
.
Это все для меня в новинку, поэтому я могу упустить что-то очевидное!
Любая помощь будет признательна.