Проектируя классы, мы должны стремиться к тому, чтобы объединять родственные компоненты, то есть такие, изменения в которых происходят по одним и тем же причинам. Нам следует стараться разделять компоненты, изменения в которых вызывают различные причины.
Стив Фентон - софтверный панк, автор, программист-архитектор, прагматик / абстракционист и специалист широкого профиля.