Я прочитал блог о МДД от Мэтта Петтерса
и соответственно и там говорится, что мы создаем репозиторий (интерфейс) для каждой сущности, и после этого мы создаем RepositoryFactory, который собирается давать экземпляры (объявленные как интерфейсы) хранилищ
Это как проект выполняется с использованием DDD?
Я имею в виду, я видел проекты, которые, как мне показалось, используют DDD, но они вызывали каждый репозиторий напрямую, фабрики не было
а также
почему нам нужно создавать так много классов репозитория, почему бы не использовать что-то вроде
public interface IRepository : IDisposable
{
T[] GetAll();
T[] GetAll(Expression<Func> filter);
T GetSingle(Expression<Func> filter);
T GetSingle(Expression<Func> filter, List<Expression<Func>> subSelectors);
void Delete(T entity);
void Add(T entity);
int SaveChanges();
}
Я думаю, это может быть что-то с нарушением принципов ТВЕРДОГО, или что-то еще?