Небольшой вопрос дизайна здесь. Я пытаюсь разработать приложение для расчета в C #. У меня есть класс, назовем его InputRecord, который содержит сотни полей (многомерных массивов). Этот InputRecordclass будет использоваться в ряде CalculationEngines. Каждый CalculcationEngine может вносить изменения в несколько полей в InputRecord. Эти изменения являются шагами, необходимыми для его расчета.
Теперь я не хочу, чтобы локальные изменения, внесенные в InputRecord, использовались в других классах CalculcationEngine.
Первое решение, которое приходит на ум, - это использование структуры: это типы значений. Однако я бы хотел использовать наследование: каждому CalculationEngine нужно несколько полей, относящихся только к этому движку: у него есть свой собственный InputRecord, основанный на BaseInputRecord.
Может кто-нибудь указать мне на дизайн, который поможет мне достичь этого?