Абасс... обсудите рахитекурту
объекта ParamVolatileречь об объекте Param
Ну так в Param есть MaxValue, играющее роль и Value. Если значение одно, то какая разница, как его назвать? А мне удобно назвать для совместимости с классом-наследником. Или назову его Value - тогда будет удобно в базовом классе, а в наследнике придётся приписать коммент, что Value играет роль максимального значения.
Если же я введу третью сущность (Value, MaxValue, CurrentValue), то это будет дублирование, т.к. Value и MaxValue играют одну роль и одинаково валидируются, и с ними одинаково обращаются клиенты классов Param и ParamVolatile. А вот клиентам будет путаница - все алгоритмы нужно перестроить, чтобы Value и MaxValue воспринимались одинаково. Проще в классах Param и ParamVolatile ввести одну условность и откомментить её, чем перелопачивать алгоритмы.