У меня есть модель User, которая может содержать 1-n моделей UserGroup, каждая из которых содержит данные о взаимоотношениях пользователя с определенной группой (например, если они являются администратором группы, когда они присоединились к группе и т. Д.). .).Дизайн шаблона для класса, который работает с коллекцией других объектов?
Я хотел бы предоставить некоторые вспомогательные методы, такие как isGroupUser() и isGroupAdmin(), которые работают на весь набор моделей UserGroup, хранящихся в модели пользователя. Сейчас эти методы находятся в модели User, но они примерно вдвое превышают размер модели.
Имеет ли смысл толковать код, который работает на моделях UserGroup, в свой класс? Итак, модель User будет содержать один экземпляр этого класса «интерфейса», который также будет содержать модели UserGroup для работы. Я чувствую, что это держит связанный код красиво отделенным, а модель User становится подавляющей.
Кроме того, есть шаблон дизайна для такого рода вещей? Кажется, что класс, который работает с коллекцией других объектов, будет довольно распространенным.
Спасибо за понимание!