2016-05-21 4 views
0

この質問は、以前に尋ねられた質問の上に構築されています。MVP Communication between presenters?MVPは複数のプレゼンターから状態を受信して​​いますか?

私は前の記事で概説したパターンを実装しています。しかし、プレゼンターAのいくつかのイベントに基づいてプレゼンターBから状態を取得しようとすると、問題に遭遇しました。

たとえば、プレゼンターAはビューイベントSaveButtonClickedに応答します。このアプローチの問題は、それが過度に複雑であるということである

class PresenterA 
{ 
    void PresenterA() 
    { 
     EventHub.Register(EventType.SendStateToPresenterA, HandleSendStateToPresenterA); 
    } 
    void HandleSaveClick(int productId) 
    { 
     EventHub.Publish(EventType.GetStateFromPresenterB, productId); 
    } 

    void HandleSendStateToPresenterA(string state) 
    { 
     // save to db 
    } 
} 

class PresenterB 
{ 
    void PresenterB 
    { 
     EventHub.Register(EventType.GetStateFromPresenterB, HandleGetStateFromPresenterB); 
    } 

    public void HandleProductChanged(int state) 
    { 
     EventHub.Publish(EventType.SendStateToPresenterA, "I am state!"); 
    } 
} 

プレゼンターAは、これまでのところ私が試したものを発表Bのビュー、ビューB.

からいくつかの状態を取得する必要があります私は2人以上のプレゼンターを抱えています。

これを処理する方法は何ですか?

答えて

0

実際には、プレゼンターBの個別のビュー/プレゼンターは保証されていません。ビューA /プレゼンターAに属します。

関連する問題