MVC や MVP デザイン パターンを使用する場合はビジネス ロジックがモデル内に存在する必要がありますが、サービス指向アーキテクチャではサービスの背後に隠されている必要があると思います。
ソフトウェア システムは、サービス指向アーキテクチャ内で MVC または MVP 設計パターンを使用できますか? もしそうなら、モデルはどこに座っていますか?
MVC や MVP デザイン パターンを使用する場合はビジネス ロジックがモデル内に存在する必要がありますが、サービス指向アーキテクチャではサービスの背後に隠されている必要があると思います。
ソフトウェア システムは、サービス指向アーキテクチャ内で MVC または MVP 設計パターンを使用できますか? もしそうなら、モデルはどこに座っていますか?
うーん、全然違う動物です。MVC は、データの表示、ユーザー ダイアログのナビゲーションの制御、およびデータ モデルの構築におけるいくつかのビジネス ロジックに関するものです。
SOA とは、サービス プロバイダーからデータを取得することです。
クライアント側では、MVC パターンのモデル部分で SOA を使用して、SOA サービスからのデータでモデルを構築できます。
サービス側では、プレゼンテーションやユーザー ダイアログがないため、MVC パターンのほとんどが冗長になります。さらに、優れた SOA 設計は、基礎となるデータ ストアに関係なく、有用なサービスを提供することに集中する必要があるため、「モデル」部分はほとんど付随的なものになります。
多くのサービスが「ステートフル」であることは事実ですが (たとえば、注文が検証され、支払いが行われ、発送されてから受領されます)、これらの状態はビジネス ロジックの不可欠な部分であり、MVC パターンに典型的なセッション管理には適していません。 .
良い質問。MVC と SOA は共存し、共存しなければならないと思います。MVC は、ユーザーからシステムへの通信で最も成功したアーキテクチャです。SOA は、効果的なシステム間通信のためのアーキテクチャです。ほとんどの組織では、両方の場所があります。したがって、私はそれらが共存すると信じています。
それらが相互にどのように相互作用するかという点で、私の個人的な意見は - MVC は、必要に応じてサービス インターフェイスを公開するモデルとコントローラーの両方を備えたコア アーキテクチャ パターンとして (SOA の誇大広告がなくなると) 残ります。