0

Silverlightアプリケーションのアーキテクチャーを設計しようとしているとき、私は次のことを行う方がよいかどうかを尋ねています。

WCFデータサービスでエンティティデータモデルを使用し、ビジネスロジックをコードビハインドに配置して、SilverlightユーザーコントロールがWCFデータサービスから返された純粋なデータの変更/管理を実行できるようにします。

また

WCFサービスでエンティティデータモデルを使用し、[OperationContract]メソッドを使用してビジネスロジックを実際のサービスに配置します。このメソッドを使用すると、ビジネスロジックをサービスレベルで適用できるため、プレゼンテーション(シルバーライト)とビジネス(サービス)を明確に分離できます。 )。

誰かがどちらのアプローチがより良いか、または上記の私の提案の範囲外で私が発見していないより良いアプローチがまだあるかどうかについて彼らの意見を提供できますか?

ありがとう

4

2 に答える 2

2

個人的には、上記の組み合わせを (変更を加えて) 使用します。

必要に応じて、ビジネス ロジックとビジネス ルールを WCF サービスに組み込みます。これには多くの利点があります。たとえば、サービスがすべてのデータの検証とチェックを実行できるようになり (どのような場合でも実行する必要があります)、2 回実行する必要がありません。これにより、ロジックがドメイン固有であり、特定のプレゼンテーション層やアプリケーション設計に結び付けられていないため、将来のアプリケーションでのサービスの再利用が促進されます。

そうは言っても、このアプリケーションに固有のロジックをサービスに入れるつもりはありません。代わりに、MVVM アプローチを使用して、アプリケーション固有のロジック (ビジネス ルールとは別に) を ViewModel クラスに配置し、Silverlight ビューからこれを使用します。ロジックを挿入する場所としてコード ビハインドを使用することは避けようとします (アプリケーションまたはビジネス ルール固有であるかどうかに関係なく)。

于 2011-02-16T16:32:23.240 に答える
0

ビジネスロジックを実際のサービスに入れるつもりはありません。サービスはサービス インターフェイス層です

基本的に、「システム」と外界との間のインターフェース (API) を提供します。この場合、UI。

そのため、ロジックを含むビジネス層が必要です。サービス インターフェイス レイヤーはビジネス レイヤーと対話し、メソッドとデータを WCF サービスとして表示します。

于 2011-02-16T16:33:19.480 に答える