0

モデルとUI、それぞれコントローラーとアクティビティクラスの間の依存関係と呼び出し順序について疑問に思い始めました。

メソッドでAndroidアプリケーションの状態を復元したい場合は、次のようにするonRestoreInstanceState必要があります。

  1. モデルの状態を更新します。これにより、UIを更新するアクティビティが呼び出されますか?
  2. モデルの状態を更新してから、モデルの状態に基づいてUIを更新しますか?

それで、私はどちらを好むべきですか?

だから私がここで見ているのは、依存関係の呼び出しを注文する方法のガイドのようなものです。Androidは実際にはMVCに準拠していないことを知っているので、オリエンテーションとして何を使用する必要がありますか?

4

2 に答える 2

0

典型的なmodel-view-controllerの実装では、モデルが更新されたことをビューに警告して、更新されたモデルに基づいてモデル自体を再レンダリングできるようにします。ウィキペディアが述べているように:

モデルの状態が変化すると、モデルは関連するビューとコントローラーに通知します。この通知により、ビューは更新された出力を生成し、コントローラーは使用可能なコマンドのセットを変更できます。

したがって、これはあなたの番号2に最も似ています。

モデルの状態を更新してから、モデルの状態に基づいてUIを更新しますか?

于 2013-01-12T14:50:45.097 に答える
0

アプリケーションの状態によっては、1と2の両方が発生する可能性があると思います。

モデルは変更イベントをブロードキャストでき、そのアクティビティまたはフラグメントは、いわばUIの更新に反応できます。

または、非常に単純なモデル、またはアクティビティからアクティビティに渡される一時的なモデルがある場合もあります。その場合、そのモデルの情報を更新してから、UIに更新を指示し、モデルを一緒に渡す可能性が高くなります。

私は少し連絡が取れていないので、あなたが明確で一貫している限り、どちらも問題ないと思います。フラグメントの使用を開始すると、モデルの変更に対応するための最良の方法を確認する場合があります。フラグメントは、更新/更新の直接呼び出しよりもブロードキャストの変更を好む場合があります。

于 2013-01-12T15:03:41.060 に答える