Absinthe
жожо
Существует модель Measurement.
Требуется получить агрегированные данные. Где должен находиться такой код?
Навряд ли в модели Measurement: этот код не связан ни с каким объектом типа Measurement. К тому же он будет статичным.
С течением времени (обычно очень скоро для центральных классов домена) такой класс разрастается до тысяч строк.
Как уменьшить сложность?
Переносить логику в трейты (и потом искать, где что находится)? Создавать сервисы? Тогда возникает вопрос, зачем вообще был выбран Active Record, а не Data Mapper (возможно с анемичными моделями, тогда проблема роста не будет существовать).
Требуется получить агрегированные данные. Где должен находиться такой код?
Навряд ли в модели Measurement: этот код не связан ни с каким объектом типа Measurement. К тому же он будет статичным.
С течением времени (обычно очень скоро для центральных классов домена) такой класс разрастается до тысяч строк.
Как уменьшить сложность?
Переносить логику в трейты (и потом искать, где что находится)? Создавать сервисы? Тогда возникает вопрос, зачем вообще был выбран Active Record, а не Data Mapper (возможно с анемичными моделями, тогда проблема роста не будет существовать).