5

既知の値 (メートルからフィート) の保存と変換に関する一般的な設計パターンの原則を探しています。運が悪かったので、何かが足りないに違いありません。

1 つのテーブルにさまざまな UOM を持つ多くのフィールドがあると仮定すると、ベスト プラクティスは何ですか? 現在、フィールドの多くは暗示的であり、これを標準化することを検討しています。ユーザーは自分の UOM を自由に入力できますが、他のユーザーは好みの UOM で表示できるようにしたいと考えています。

「入力された値」を保存して、一般的なプリミティブに変換する必要がありますか (ユーザーはフィートを入力し、メートルに変換して保存します)? この入力したフィート値を監査バックアップとして保存する必要がありますか?

一部のデータベーステーブルの消費者は私だけではありません。他のアプリケーションが常に値+UOMと生のユーザー入力値を認識して変換を行う方がよいでしょうか。

私が見逃している可能性のある、精度に対する深刻な変換の影響はありますか。メートル > フィート > メートルは、基幹業務アプリの変換に十分な信頼性が必要です (変換は小数点以下 17 桁まで可能ですが、表示および入力される値は小数点以下 2 桁から 4 桁に制限されます)。

既知の問題の解決策を再発明していないので、私を正しい方向に向けるための他の考えやリンクはありますか?

演算子のオーバーロードを伴う壮大な解決策を思い描いているわけではありませんが、平均的な Joe 開発者が維持できる実用的なアプリケーションで機能するものはもっとあることに注意してください。

4

4 に答える 4

2

UOM に従うパターンが必要な場合は、JSR-275 (Java) がそれに対処します。JSR-275 を実装する一般的なライブラリはJScienceです。

value値の格納に関しては、変更されmeasurement typeない列 (メートル/フィートなど) を作成するだけです。変換は、要求に応じて簡単に行うことができます。

于 2011-03-15T07:42:36.587 に答える
1

分析パターンという本を見てください。また、数量パターンを見てください。

于 2013-07-21T23:12:10.913 に答える
0

測定単位の Java API を確認してください: http://www.unitsofmeasurement.org/

于 2012-03-31T04:50:02.630 に答える
0

1 つのオプションは、データベースで変換テーブルを使用することです。これにより、ユーザーは任意の方法 (メジャー + uom コード) でメジャーを入力できるようになり、途中でオンザフライで変換できます。

少し前にSQLカスタム単位変換と呼ばれる同様の質問に答えました

于 2011-03-15T07:44:30.460 に答える