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