Я работаю с тремя отдельными классами: группой, сегментом и полем. Каждая группа представляет собой набор из одного или нескольких сегментов, и каждый сегмент представляет собой набор из одного или нескольких полей. Существуют разные типы полей, которые подклассифицируют базовый класс Field. Существуют также различные типы сегментов, которые являются всеми подклассами базового класса сегмента. Подклассы определяют типы полей, ожидаемых в сегменте. В любом сегменте некоторые из определенных полей должны иметь введенные значения, в то время как некоторые могут быть опущены. Я не уверен, где хранить эти метаданные (независимо от того, является ли данное поле в сегменте необязательным или обязательным.)Структурный шаблон дизайна
Каков наиболее чистый способ хранения этих метаданных?
Если поле является классом, можете ли вы сохранить флаг в качестве члена, указывающий, является ли он необязательным или обязательным? Тогда класс Сегмент может установить это в поле, когда он создает новый. – kevintodisco
Да, это будет сделано. Не уверен, почему я не думал об этом ... – tabdulla