典型的なシナリオ。internally
サーバー ファームと複数の分散クライアントおよびローカル クライアントとの間の通信には、昔ながらの XML Web サービスを使用します。サードパーティは関与せず、自社と顧客が使用するアプリケーションのみを使用します。
XML
WS
現在、モデルへの移行を検討しWCF/object-based
ており、さまざまなアプローチを試しています。そのうちの 1 つは、ドメイン オブジェクト/集合体をワイヤ経由で直接転送し、それらの DataContract 属性を呼び出す可能性があります。
で Order プロパティを使用するIExtensibleDataObject
ことにより、単純なプロパティのバージョン管理の問題に対処できるはずです (すべてのクライアントを制御し、簡単に強制更新できることを思い出してください)。DataContract
DataMembers
DTOs
専用の転送専用のデータ転送オブジェクト ( ) をネットワーク経由で使用する必要があるとよく耳にします。
なんで?それでもそうする理由はありますか?サーバー側とクライアント側で同じドメイン モデルを使用します。もちろん、コレクションの事前入力などは、正しく「必要」と判断された場合にのみ行います。コレクション プロパティは、サービス ロケーターの原則と IoC を利用してNHibernate-based
、(サーバー側で) データを直接フェッチする"サービス" と、サーバー ファームWCF
と対話するクライアント側の "サービス" クライアントのいずれかを呼び出します。WCF
では、なぜ を使用する必要があるのDTOs
でしょうか。