0

MVCパターンの使用について少し混乱しています。データ、ミドルウェア、フロントエンドの3層アーキテクチャがあります。基本的に次のことを行うiPad用のアプリを開発しています。

  • JSONサービスを消費します
  • 結果をUI形式で表示します
  • ユーザーが対話する(アイコンをテーピングする)/変更する(入力を編集する)
  • 繰り返す...

ビジネスプロセスは、前のフローをn回繰り返した後に完了します。つまり、サービスを利用して画面を更新し、ユーザーが何かを実行し、前のサービスからの応答データと他のユーザー入力をパラメーターとして使用します。 2番目のリクエスト、次に2番目の結果が3番目のリクエストをフィードするなど、プロセスが終了するまで続きます。

私の問題は、MVCパターンがこれにどのように適合するかが実際にはわからないことです。フロントエンドレイヤー(Cocoa Touchを使用したiPad開発のみ)でのみ作業していますが、iPadアプリケーションにMVCの3つのコンポーネントを含める必要がありますか?それとも、ビューとコントローラーだけですか?

私の混乱は、モデルがデータレイヤー、コントローラー、ミドルウェア、およびiPadアプリケーションのビューであると理解している限り、フロントエンドでモデルの何らかの表現が必要だと感じているという事実から来ています。層。

前もって感謝します。

4

1 に答える 1

0

MVCパターンでもう少し作業し、多くの参考文献を読んだ後、それらのほとんどはSOの質問から私は次のような答えを与えることができると思います:

MVC パターンは、アプリケーションのコンポーネント間の懸念事項を論理的に分離したものです。3 層アーキテクチャは、データ、アプリケーション処理、およびプレゼンテーション間の関心の分離を実現しますが、本質的にサーバー クライアント アーキテクチャであるため、物理的な分離も意味します。

両方の手法は、補完的なものと見なすことができるため、同時に使用できます。

MVC パターンは論理的な分離であるため、モデルのさまざまな部分をさまざまな物理的な場所に配置することは十分に可能です。同じことがコントローラーにも当てはまります。サーバーだけでなく、モバイル デバイスにもコントローラーのさまざまな部分を配置できます。すべてのビューがデバイスにあります。

サーバー クライアント モバイル アプリケーションの開発に 2 つの手法を適用する方法の概要を以下に示します。

モデル

モデルはデータとそれを変更するためのルールです。つまり、モデルの一部がアプリケーション処理層にあるということです。データはローカル、つまりデバイスに格納されている場合があります。つまり、データはプレゼンテーション層にあるか、DB などのリモートにあり、データ層にあるものを表すすべての中間オブジェクトです。

意見

ビュープレゼンテーション層にあります。これは、デバイス上に存在する実際のユーザー インターフェイスです。

コントローラ

コントローラーは、クライアントとサーバーに物理的に分散することもできます。これは、モデルから通知を受け取ってビューを更新するか、ビューからのイベントを処理してそれに応じてモデルを使用するすべてのコードです。これにより、アプリケーション処理層に配置されます。

于 2013-08-13T11:50:58.977 に答える