2010-12-31 6 views
1

私はMVC 3を使用しています。私はサービス層とサービスの周りに頭を下ろそうとしています。私は現在、DoFactoryのソースコードに付属のサンプルアプリケーションを使って作業しています。この質問は、サンプルアプリケーションに基づいていますが、一般的には。サービス層アーキテクチャ設計の混乱

一連のサービスメソッドを公開するサービスレイヤー(WCF)があります。サービスレイヤーは、下のレイヤーとのすべての通信が発生する必要がある単一の入力ポイント(Façadeパターン)を実装します。ファサードは、ビジネスレイヤーへの入り口であり、非常に単純でコースグレインなAPIを公開しています。

私はクライアントのリストを取得しようとしていますが、MVCコントローラではリポジトリのGetCustomersメソッドを呼び出すと、サービスレイヤGetCustomersメソッドが呼び出されます。

私はここで少し混乱していると思います。このアプリケーションアーキテクチャは正しいですか?コントローラがサービス層のメソッドを呼び出してから、この呼び出しリポジトリのメソッドを呼び出すべきではありません。リポジトリは常にデータを取得するために呼び出された最後のメソッドだといつも思っていましたか?

誰かがこれを明確にするのに役立つことができますか?

答えて

2

お客様のアーキテクチャは正しいです。

私は常にリポジトリがデータを取得するために呼び出された最後のメソッドだと思っていましたか?

はい、あなたのケースでは、データはWCFサービスから来ているが、それは何もすることができます:SQLデータベース、XMLファイル、...

+0

ありがとうございました。したがって、WCFサービスからデータを取得するリポジトリを呼び出すサービスは必要ありません。このインスタンスでWCFサービス層にロジックを適用する場所はどこですか? –

+0

@Brendan、この場合、追加のサービスは必要ありません。ビジネスロジックはWCFレイヤーに適用されます。 –

+0

ありがとう!私はサービスとサービス層に関してちょっと混乱していました。あなたは私のためにそれをクリアしている:) –

関連する問題