2017-01-14 13 views
0

私はMVP構造を学んでいると私は理解しようと:MVP。モデル間でデータを渡す方法は?

  • モデル間でデータを渡すためにどのように?

各モデルには、1つのアクションを表し、私は別のものに1つの モデルからのデータを送信する必要がある場合、どのように私はそれを正しく行うことができますか?私は

firstModel -> secondModel?

のように、

firstModel -> commonPresenter -> secondModel 

OR

モデル間でデータを送信するように、プレゼンターを通じて データ渡し、これらのモデルは、異なるプレゼンターと対話する場合はどうすべきか?

答えて

0

モデルビューのプレゼンターパターンは、ほとんどのアーキテクチャパターンと同様に、実験にはかなり開いています。重要なのは、ビューをドメインロジックとデータ処理から分離することです。

特に、Androidでは、アクティビティやフラグメントなどのフレームワーク固有のクラスからできるだけコードを保持すると便利です。

私の経験では、お互いのオブザーバーとして、モデル間でのコミュニケーションを図るのが最善です。ビューとプレゼンター、または一般的に同じアーキテクチャーレイヤー内のコンポーネントにも同じことが言えます。

0

私の知る限り、あなたがプレゼンターのメソッドまたはこのようなコンストラクタを呼び出す必要がありますので、プレゼンターであなたの宇井モデルにあなたのドメインモデルを変換する必要があります。

ModelOne modelOne = new ModelOne(modelTwo); 

DRY原則を考慮し、各フィールドを割り当てないでくださいこのような発表者自身

modelOne.title = modelTwo.title; 
modelOne.id = modelTwo.id; 

ドメイン・レイヤー・モデルを別のドメイン・レイヤー・モデルに変換する場合は、他のレイヤーで行う必要があります。詳細はこれを読んで: http://fernandocejas.com/2014/09/03/architecting-android-the-clean-way/

「プレゼンターは、モデル層と通信しやすい形式のUIにデータを変換し、ビューを更新し、」 をも、あなたがこのリンクでの文の上に見つけることができます: http://iyadagha.com/using-mvp-ios-swift/

関連する問題