0

私は新しい MVC プロジェクトを開始しようとしていますが、そこにはいくつかの独特なルールと少し奇妙な点があり、戸惑っています。具体的には、すべてのデータを含むデータベースにアクセスできますが、外部 Web サービスを介して完全に処理する必要があります。理由を聞かないでください、理由がわかりません。それがまさにその通りです。

したがって、CRUD はこの API を介して処理されます。すべての呼び出しをまとめるサービス レイヤーを作成する予定ですが、モデルを理解するのに苦労しています... モデルベースのドメイン オブジェクト (顧客、注文など) を作成するにはするべきか:

  1. それらをすべて手動で作成します
  2. ダミーのデータベースを作成し、ORM をそこに向ける
  3. ORM を既存のデータベースに向けますが、API の代わりに ORM の永続性を無視します。

これを構築するために必要なすべての情報を取得したように感じますが、API に追いついています。ポインタやアドバイスをいただければ幸いです。

4

2 に答える 2

3

データベースモデルが外部サービスによって公開されているものと同じであると想定しているため、実行していることの規模によっては、オプション 3 は危険です。オプション 1 と 2 は、私見ではそれほど違いはありません。どちらの場合も、オブジェクト、プロパティ、および動作がどうなるかを決定する必要があります。つまり、クラスでそれを行う方が快適かどうかにかかっています。またはデータベース テーブル。

重要なことは、外部サービス呼び出しがある種のラッパーの背後に隠されていることを確認することです。個人的には、その上にリポジトリを配置して、外部サービス ラッパーのクエリを処理し、ドメイン オブジェクトを返します。

于 2009-10-25T14:15:17.347 に答える
1

一般に、ORM がクリーンなドメイン モデル クラスを生成する能力については知られていません。ORM はデータ層を作成することで知られていますが、この場合は必要ないようです。

T4 のようなコード生成ツールを使用して、Web サービスまたはデータベースのいずれかに基づいて、ドメイン モデル クラスで最初のパスをコード生成することができます。それ以外の場合は、ドメイン オブジェクトを手動で作成するだけです。ドメイン オブジェクトで最初のパスをコード生成したとしても、データベースまたは Web サービスからドメイン オブジェクトへのクリーンな 1 対 1 のマッピングがある可能性は低いため、コードで生成されたドメインを手動で編集するのにかなりの時間を費やす必要があります。とにかく授業。

于 2009-10-26T09:28:39.747 に答える