あなたはすでに混乱しているように聞こえるので、もう 1 つの意見が役立つかどうかはわかりません。
しかし、MVC は実際にはSmalltalk の時代にさかのぼる古い概念であり、修正が必要だと思います。
より現代的なアプローチは、レイヤーの観点から考えることです。
View --> Controller --> Service --> Persistence
レイヤーは、View
エンド ユーザーに表示される HTML またはモバイル ビュー ページです。
Controllers
と密結合していView
ます。を変更すると、 もView
変更する必要が生じる可能性がありますController
。からのリクエストをリッスンし、View
入力パラメーターを検証してバインドし、それらを に渡してServices
ユース ケースを満たし、適切な next を決定しView
、レスポンスをエンド ユーザーにシリアル化します。
ユースケースにService
マップし、作業単位を実行します。取引を担当しています。それは独立していView
ます; 変わってもくっつきそうViews
です。これは、サービス指向アーキテクチャの基礎です。EJB、SOAPまたはREST Webサービス、XML-RPCなど、好みのテクノロジーを使用してデプロイできるインターフェースとして開始する必要があります。
Persistence
データベースを他の人から隠します。すべての CRUD 操作を処理します。
Model
すべてのレイヤーの間に浮かんでいます。これらは、解決しようとしている問題を説明するオブジェクトです (例: バンキングの Account、Customer など)。
「図」の矢印は意味があります。この配置でオブジェクトが持つパッケージの依存関係を模倣します。 Persistence
については知りませんService
。Service
については知りませんController
。
これらはインターフェースベースである必要があるため、クライアントに影響を与えることなく実装を変更できます。