アプリケーションで DTO または自己追跡エンティティを使用する必要があるかどうかを判断するために、設計について自問できる質問は何ですか?
考慮すべきことがわかっていることを次に示します。
- WPF/MVVM クライアント、WCF サーバー、および MS SQL データベースを備えた標準の n 層アプリケーションがあります。
- ユーザーは独自のインターフェイスを定義できるため、WCF サービスから必要なデータは、ユーザーが定義したインターフェイスに基づいて変化します。
- モデルは、検証のためにクライアント側とサーバー側の両方で使用されます。DTO または STE に直接バインドすることはありません。
- 一部のモデルには、必要に応じて WCF サービスから遅延ロードされるプロパティが含まれています
- データベース層は、複数のサーバー/データベースにスパムを送信します
- サーバー側には、データが返される方法に影響する権限チェックがあります。たとえば、一部のデータは、ユーザーの役割に基づいて部分的または完全にマスクされます
- 私たちのリソースは限られています(時間、人員など)
では、私たちにとって何が正しいかをどのように判断すればよいのでしょうか? 私はこれまで EF を使用したことがないので、STE が適切かどうかはわかりません。
STE から始めて、問題が発生した場合にのみ DTO を実装することを提案する人を見てきましたが、現在 DTO が導入されており、STE を使用することで作業が楽になるかどうかを判断しようとしています。切り替えにそれほど時間はかからないプロセスの初期段階にありますが、STE に切り替えて、それがうまくいかず、すべてを元に戻す必要があることを知るためだけに切り替えたくありません。