С точки зрения принципа разделения интерфейсов я думал, что методы хранилища должны быть разделены на несколько интерфейсов. Как это помогает?
Я бы описал это так: разделение интерфейса происходит за стоимость .
В этом случае разделение этого интерфейса вводит восемь? новые ролевые интерфейсы, которыми каждый должен управлять. Возможно, больше, возможно, меньше, в зависимости от того, сколько отдельных вариантов использования мы пытаемся управлять и какой тонкодисперсный контроль мы хотим поддерживать.
Я подозреваю, что для целей Вернона ему нужен банан - четкая демонстрация ответственности хранилищ без перетаскивания гориллы и остальных джунглей.
Еще один способ выразить ту же идею: у обязанностей здесь много сплоченности - когда вы замените свое постоянное решение, вполне вероятно, что выполнение всех этих обязанностей должно будет измениться, и это естественно, что они меняются вместе.
Наилучшим решением для учебника, в котором вы пытаетесь представить студенту единую идею, и наиболее подходящим решением для живой системы, где вам часто нужно вносить мелкие изменения в выполнение обязанностей, являются: не обязательно то же самое.
Лошади на курсы.