5

単位間の変換を行う必要があります。各単位には、名前と整数の 2 つの部分があり、整数部分は正または負のいずれかになります。Unitクラスに依存性注入があり、疎結合である必要があります。たとえば、将来何かを追加する必要がある場合、このクラスを使用している他のクラスを変更する必要はありません。

Convert()私のユニットクラスには、ユニット間で変換するためのメソッドも必要です。私はこれらのリンクを見ました:

しかし、これらは疎結合のようです。

この問題の推奨設計パターンを教えてください。

4

1 に答える 1

2

メソッドが変換できる単位を指定するメソッドのカスタム属性を作成します。次に、コンバーター関数は、変換されるアイテムから単位を抽出し、リフレクションを使用して、それらの単位との間で変換する convert メソッドでそれらのクラスを見つけることができます。

convert to/from メソッドに使用するコア測定単位が必要です。たとえば、指標を選択すると、すべての変換が指標から秒単位に変換されます。次に、単位 A から単位 B に移動するには、A からメートル法に変換してから、メートル法から B に変換します。A と B のコンバーターは反射を使用して選択されます。

もちろん、リクエストについてあまり詳細を提供していないため、何をしようとしているのかを正確に伝えるのは難しいため、これは推測の「デザイン」です。:)

于 2012-11-14T19:38:33.030 に答える