Я знаю, что это устаревшая тема, но FWIW (я автор вышеупомянутых ядовитых токсинов) - я обычно предпочитаю работать с нормированными значениями (т. Е. Как в 0,0 .. 1,0, так и в -1,0 ... +1,0 интервал) просто потому, что он делает их более гибкими при работе в нескольких доменах.У вас просто есть соответствующее значение масштаба или коэффициент отображения, который применяется всякий раз, когда используется значение.Это позволяет мне сохранить фактические определения абсолютного диапазона вне кода и / или использовать более удобный для человека диапазон номеров для элементов графического интерфейса.Поэтому я склонен думать о них как о процентах, и это немного похоже на MVC в нано-масштабе.
Например, у меня может быть несколько файлов конфигурации, определяющих различные диапазоны высоты для трехмерного персонажа.Моему инструменту все равно, какие абсолютные значения, но он может иметь некоторые особые случаи, скажем, что-нибудь> 80% (0,8).Моя модель использует только нормализованные значения.
Конфигурация A может быть: мин: 50 - макс: 200
Конфиг B: мин: 20 - макс: 100
Если мое значение высотывнутренне только выраженный между 0.0 .. 1.0, тогда я могу намного лучше работать с этим, и вычисление действительного абсолютного значения (то есть "представление" этого параметра модели) очень легко:
float val = config.min + (config.max-config.min) * normVal;
Теперь, если естьПоскольку другие параметры (со своими собственными диапазонами) зависят от моего параметра высоты, нормализованное состояние позволяет легко применить его к своим доменам (и избежать ненужного повторного отображения) ...