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