про это нужно помнить
Как вы покрываете тестами код, который использует зависимости со статикой?
как это спроектировать лучше ?
а можно сделать 2 конструктора
еще слышал про паттерн по-моему "репрезентация" но не уверен так как ничего не нахожу
чтоб один и тот же обьект иметь возможность получить в нескольких вариантах
в вашем примере стоит использовать: addGroup/removeGroup/getGroups методы + настройки рилейшнов, что предлагает доктрина.
Проблема как раз в том что люди потом услышав аббривиатуру не задаются вопросом а "почему так?" Для них вся соль в том что бы эти три буквы были, а не в том как они друг к другу относятся.
ну да ладно.