2

DataAccessレイヤー)。検証レベル駆動設計

我々はasp.netウェブAPIを使用している原因となるデータ注釈を使用して(APIモデルの検証を追加するかどうか私達は私達のモデルと骨材の一貫性と整合性を確保するために、私たちのドメインモデルを検証しますが、私はいくつかの疑問を持っています)。

私の質問は何とか変ですが、私たちはApiレベルで検証を行うべきですか、それは重複とみなされ、おそらくドメインレベルで行われた検証との差異につながるでしょうか?

+0

こんにちは、私はあなたの質問に答えましたか?ありがとうございます –

答えて

2

バリデーションには多くのタイプがあり、いくつかのレイヤーや他のレイヤーでのバリデーションが必要です。 So:

私はAggregatesDomainレイヤにコアビジネスルールを保持しています。例はthe account balance can not be negativeです。 commandsDomain層の一部であるためemail address must be valid

Lowレベルルールは、またDomain layer内部、command'sコンストラクタ内部に保持されます。 delete自身activities又はadmin任意activitydeleteことができowner

承認チェックは、Application層で行われます。

注:プレゼンテーション(RESTエンドポイント、MVCなど)、アプリケーション、ドメイン、インフラストラクチャのアーキテクチャに適用されます。

+0

私は完全にあなたに同意しますが、私のための 'コンストラクタ'の検証についての懸念を持っています。私はこの検証をファクトリメソッドに移すことを好むでしょう。そして、私は工場のメソッドなしでコンストラクタを公開しません –

+0

@WahidBitarそれはほとんど同じです –

関連する問題