少し前に、UI とバックエンドの間のすべてのデータ/ビジネス ロジックに WCF を使用している新しい仕事を始めました。
私が気付いたのは、これらの WCF サービス呼び出しの大部分にさまざまなパラメーターが含まれていることです。たとえば、GetFoo というサービス コールがあるとします。ここでは、次のように署名を使用できます。
public Foo GetFoo(int? ID, string Name, DateTime? fooDate)
よりオブジェクト指向のアプローチでは、代わりに以下を使用できます。
public Foo GetFoo(Foo foo)
Foo
この場合、コードは、UI から渡された特定のパラメーターのセットに依存するのではなく、POCO オブジェクトから必要なものを取得します。
一方では、これにより、UI と WCF サービス間の契約がより柔軟になります。契約を破棄したり参照を更新したりすることなく、サービス側で実装を変更できます。さらに、パラメータの明示的なリストを処理するのではなく、POCO に直接作用するビジネス オブジェクトを使用できます。
一方、必要なオブジェクト/データを取得するために何が必要かは明確ではありません。
どのアプローチがベスト プラクティスと見なされますか?