У меня есть класс, который в основном представляет параметры модели и инкапсулирует логику для вычисления значений модели с этими параметрами.Я пытаюсь решить, должен ли этот класс быть неизменным.На практике экземпляры модели будут генерироваться путем подгонки к некоторому набору данных, поэтому в этом смысле имеет смысл (по крайней мере, мне), чтобы этот экземпляр был неизменным, поскольку он привязан к внешним данным.
Вкл.с другой стороны, будет GUI, позволяющий пользователю делать «что-если», в котором он может изменять параметры, чтобы увидеть, как он меняет значения модели.Поэтому я мог бы сделать модель изменчивой, чтобы сделать это проще, или создавать новые копии каждый раз, когда изменяется параметр.Последнее кажется неудобным, особенно если есть, например, 5 параметров, которые можно пометить по отдельности ... Возможно, мне придется реализовать метод SetX () для каждого параметра, который возвращает копию, верно?
Я обдумываю это, или здесь есть подходящая схема?(Это код C #, хотя я думаю, что он не зависит от языка)