Недавно я потратил время на изучение принципов SOLID и решил посмотреть, как сравнивается база кода, с которой я работаю.
В нашем коде есть репозиторий (репозиторий A). Когда запись должна быть удалена из репозитория A, нам также необходимо удалить связанную запись из репозитория B. Поэтому исходный кодер создал зависимость от конкретной реализации репозитория B. Метод в репозитории A находится в транзакции и удаляет запись из репозитория A, а затем вызывает метод в репозитории B для удаления связанных данных.
Мое понимание принципа S состоит в том, что каждый объект должен иметь только одну причину для изменения, но для моего репозитория A есть 2 причины для изменения? Или я не в курсе?