2011-02-07 5 views
0

私は、各サービスクラスメソッドに作業単位を使用して、操作とアプリケーションロジックを実行しています。コントローラーとサービスの間にファサードサービスを実装することをお勧めしますか?この考えは、複数の作業単位を使用することなく、1つのトランザクションで多くのサービスを使用できるようにすることでした。コントローラとサービスの間にファサードサービスを実装することをお勧めしますか?

ありがとうございました。

答えて

1

1場合、私は自分自身が他のサービスを呼び出すコントローラから、あなたのすべてのサービス)にその良いアイデアだと思うし、管理不能であることをなっています。あなたはハイレベルの2つのサービスを呼び出す必要がある状況で苦労しているが、それは設計通りに働く作る問題を抱えている
2)

彼らはSOAのに非常に有用であるが、私は反対し、言及kohlehydratとして、ファサードはデザインパターンであり、誰のアプリケーションスタイルにも排他的ではありません。ファサードを使用している場合は、適切に整理された高度なサービスを1つのアプリケーションにまとめます(適切な場合)。

+0

作業単位は要求ごとに1回だけ使用されますが、私はSOAのアプローチを他の方法よりも好むので、柔軟性が増します。私は私のサーバー層で1つ以上のサービスを呼び出し、同じトランザクション内のいくつかの場所でサービスメソッドを再利用できる必要があります。だから私はあなたが言ったことから、実際には一つの権利が必要だと思いますか? – Rushino

+0

*必要はありません。アプリケーションの統一されたインタフェースを提供する単なるパターンです。私はもっ​​とシンプルだと思う。あなたのフレームワークの仕組みはわかりませんが、Javaの世界ではサービスのトランザクション境界を設定することができます。つまり、serviceAにメソッドの周りのトランザクションがあり、それが他のサービスを呼び出す場合は同じトランザクションが使われます。 – hvgotcodes

+0

申し訳ありませんが、私はあなたの権利は実際には思う。私が私のサービス層の中でメソッドを再利用するならば、私は単にそれを使ってプライベートにしなくてはなりません。 Btw私はasp.net mvc 3を使用していました。私のuowはusingステートメントで定義されています。 – Rushino

0

いいえ、ファサードパターンはSOAのコンテキストでのみ実際に意味を持ちます。ニーズに合わせてサービス指向のアプローチを試してください。

+0

私はhvgotcoddesがパターンと呼ぶことができないと言ったので、私はファサードパターンを参照しているとは思わない。 – Rushino

関連する問題