Возьми ответственность в свои руки с GRASP принципами
Давайте погрузимся в GRASP паттерны, и наконец, решим как распределить ответственность между классами так, чтобы приложение было легко масштабировать и поддерживать.
Хоть GRASP и находится в тени SOLID, но его принципы имеют более практичное применение и легче для понимая.