WSSF を使用して WCF Web サービスを構築しています。アイデアは、サービスを介してメイン データベースを公開し、サービスの上にさまざまなアプリケーションや Web サイトを構築できるようにすることです。現時点では、このサービスからデータをダウンロードして操作し、レポート CSV ファイルとしてユーザーに提供する単純なクライアント アプリを構築しています。
問題は、(データを操作する) ビジネス ロジックをどこに配置するかです。私はそれをサービスの中に入れようと考えました。私はすでに、データベース (顧客、注文など) とほぼ 1 対 1 でマップする単純なオブジェクトを含むビジネス層をそこに持っています。私は、データを操作するためにいくつかの「高レベル」オブジェクトを作成すると考えました。たとえば、顧客、注文、その他のオブジェクトを使用して、レポートなどを作成します。これに最適な場所は、サービスのビジネス レイヤーであると考えました。そうすれば、必要に応じてさまざまなアプリケーションでこのロジックを再利用できます。
残念ながら私の上司は同意しません。彼は「関心の分離」を望んでおり、このロジックの適切な場所は、サービスではなくクライアント アプリ内のビジネス レイヤーであると述べました。これはもっと簡単かもしれませんが、サービス ビジネス レイヤー内で強力なオブジェクト モデルを使用して、このコードを記述したいと思います。サービスによって公開されるオブジェクトは「実際の」オブジェクトではなく、サービス ビジネス レイヤー内に存在する完全なオブジェクト モデルの機能を持たない単なる軽量データ構造です。
皆さんはどう思いますか?