Паттерны проектирования UOM (единицы измерения)

Ищете общие принципы шаблонов проектирования в отношении хранения и преобразования известных значений (т.е. метров в футы). Погуглил безуспешно, поэтому я, должно быть, что-то упустил.

Предполагая, что в одной таблице есть много полей с различными единицами измерения, что лучше всего? В настоящее время подразумеваются многие поля, и мы планируем стандартизировать их. Мы хотим дать пользователям свободу вводить свои единицы измерения, а другим - просматривать их в предпочтительных единицах измерения.

Следует ли мне хранить «введенное значение» и преобразовать в какой-то общий примитив (пользователь вводит футы, я конвертирую в метры и сохраняю их)? Следует ли мне сохранить это введенное значение футов в качестве резервной копии аудита?

Я не единственный потребитель какой-либо таблицы базы данных, лучше ли, чтобы другие приложения всегда выполняли преобразования, зная значение + UOM по сравнению с исходным значением, введенным пользователем.

серьезные последствия преобразования для точности, которых мне может не хватать. Метры> футы> метры должны быть достаточно надежными для преобразования для бизнес-приложения (преобразование может осуществляться до 17-го десятичного знака, но отображаемые и вводимые значения ограничиваются 2-4 десятичными знаками)

Любые другие мысли или ссылки, указывающие на меня в правильном направлении, чтобы я не изобретал заново решение известной проблемы?

Обратите внимание, что я ' Я не предполагаю какого-то грандиозного решения с перегрузкой операторов, но больше того, что будет работать в практическом приложении, которое может поддерживать средний разработчик Джо.

6
задан casperOne 28 July 2012 в 17:51
поделиться