"Я бы перефразировал то, что вы сказали о SRP. У класса должен быть только ОДИН повод для изменения. Ответственность за класс Repository заключалась бы в выполнении операций с базой данных (например, операций CRUD). Многие люди путаютсядумая, что класс должен содержать только один метод, но это не то, что описывает Роберт Мартин ... Существует множество способов, если это всего лишь 4 метода crud, оставить их в одном, и это нормально. Если у вас есть update / insert / deleteи многие (5+) операций чтения, рассмотрите возможность их разделения в хранилище для чтения и записи. Если у вас намного больше операций чтения / записи, подумайте о применении CQRS с обработчиками команд для каждой записи (вставка, обновление, удаление, массовое удаление и т. д.)Операция и обработчики запросов для каждой операции чтения - "