Ребят помогите разобраться со иерархией классов) не могу построить четкой структуры, есть много разных видов обьявлений - у каждого обьявления есть список полей. Поля могут как использоваться в разных видах обьявлений так и быть уникальными.
На данный момент думаю создать абстрактный класс Field,и в каждом типе обьявлений просто указывать список полей. Но начинаю сомневаться что такой подход оптимален. Я могу создать 30+ разных классов под каждый вид объявления. Но тогда будут поля которые тупо повторяются в этих классах.