1

私たちの開発フレームワークでは、パラメーターの検証にアスペクトを使い始めました。それはうまく機能し、パブリック メソッドの前半に検証コードを散らかさないことを楽しんでいます。

私が疑問に思っているのは、名前空間構造のどこにパラメーターの検証を配置するかについて、誰かが推奨事項を持っているかどうかです。これはトップ レベルの機能であるため、.NET Framework で System が使用される方法と同じように、トップ レベルの製品名前空間に配置する必要があると考えています。このような機能が追加されるとコア アセンブリが肥大化するのではないかと心配しています。

現状では、次のようなものがあります。

[会社].[製品].ParameterValidators

この例では、ParameterValidators は機能を含むクラス (アスペクト) の名前です。

これとは別に、構造的な配置に関連して既存のコードベースに側面を組み込むためのさらなる推奨事項があれば、私は感謝します.

4

1 に答える 1

1

現在、技術的な基準、つまり「すべてのバリデーターはバリデーターであるため、名前空間に入れる」を使用してパーティション分割することを検討しています。これは、バリデーターが存在する理由を考慮していません。

私の提案は、機能ごとに分割することです。

  1. 万能バリデーター(無効性や範囲チェックなど)は、多目的名前空間に入ります。

  2. より具体的なバリデーター(CustomerValidatorsなど)は、より具体的な名前空間に配置されます。

一般的な考え方は、すべての可能なバリデーターを保持する1つのクラスはなく、それぞれが特定の理由で検証を宣言する複数のクラス(異なる名前空間)があるということです。

于 2008-12-01T19:20:57.543 に答える