каждый чих нужно отдельную функцию писать. Если функция нужна только для одного из трех объектов, то для двух других придется делать optional поле в Report
куча методов в одном месте похоже на нарушение SRP - сущность знает о куче сценариев своего применения
с бекенда мне прилетает массив subjects из оригинального кейса - как мне без дискриминанта тут обойтись чтобы свести все к одному типу Report?
кажется, что можно пытатся свести разнородные сущности к одной, чтобы было codata и все такое. Можно в общем-то сразу на классах писать, не хуже чем codata будет.
но кажется что в определенных кейсах union проще будет
ISP поможет. Можно Report разбить на несколько интерфейсов, добавлять сегрегированные интерфейсы только (там, где все интерфейсы Report не нужны и т п) - хотел просто в примере как проще показать, с одним типом > Получается на каждый чих нужно отдельную функцию писать А вам на каждый чих писать case в каждый ваш switch, причем они будут раскиданы по всему коду, работающему с репортами, а не сгруппированы в реализации интерфейсов, как у меня
Обсуждают сегодня