8

MVC や MVP デザイン パターンを使用する場合はビジネス ロジックがモデル内に存在する必要がありますが、サービス指向アーキテクチャではサービスの背後に隠されている必要があると思います。

ソフトウェア システムは、サービス指向アーキテクチャ内で MVC または MVP 設計パターンを使用できますか? もしそうなら、モデルはどこに座っていますか?

4

2 に答える 2

12

うーん、全然違う動物です。MVC は、データの表示、ユーザー ダイアログのナビゲーションの制御、およびデータ モデルの構築におけるいくつかのビジネス ロジックに関するものです。

SOA とは、サービス プロバイダーからデータを取得することです。

クライアント側では、MVC パターンのモデル部分で SOA を使用して、SOA サービスからのデータでモデルを構築できます。

サービス側では、プレゼンテーションやユーザー ダイアログがないため、MVC パターンのほとんどが冗長になります。さらに、優れた SOA 設計は、基礎となるデータ ストアに関係なく、有用なサービスを提供することに集中する必要があるため、「モデル」部分はほとんど付随的なものになります。

多くのサービスが「ステートフル」であることは事実ですが (たとえば、注文が検証され、支払いが行われ、発送されてから受領されます)、これらの状態はビジネス ロジックの不可欠な部分であり、MVC パターンに典型的なセッション管理には適していません。 .

于 2008-12-05T08:04:36.343 に答える
3

良い質問。MVC と SOA は共存し、共存しなければならないと思います。MVC は、ユーザーからシステムへの通信で最も成功したアーキテクチャです。SOA は、効果的なシステム間通信のためのアーキテクチャです。ほとんどの組織では、両方の場所があります。したがって、私はそれらが共存すると信じています。

それらが相互にどのように相互作用するかという点で、私の個人的な意見は - MVC は、必要に応じてサービス インターフェイスを公開するモデルとコントローラーの両方を備えたコア アーキテクチャ パターンとして (SOA の誇大広告がなくなると) 残ります。

于 2009-11-17T10:52:34.877 に答える