2010-03-29 43 views
1

我想知道在哪裏調用MVP模式ShowDialog的(),主講人通常被定義爲:當展現在winform MVP模式視圖

public Presenter(IView view, IModel model) 
{ 
    this.View = view; 
    this.View.Presenter = this; 
    this.Model = model; 
} 

而且我想通過調用ShowDialog的顯示視圖Modelly( ),那麼我應該在哪裏調用ShowDialog()?

public void Foo() 
{ 
var view = New View(); 
view.ShowDialog(); 
var presenter = new Presenter(view, model); 
} 

但如果我叫ShowDialog()創建演示前,.ShowDialog()不會返回視圖關閉之前, 後來我把它調用Presenter,但我覺得它的反模式調用ShowDialog()在主持人,

那麼,有什麼更好的解決方案,或者可以在演示者中調用ShowDialog()嗎?

回答

2

爲什麼不

var presenter = new Presenter(view, model); 
view.ShowDialog(); 

不,我不認爲要求在演示ShowDialog的是一個反模式

+0

這可能是一個解決方案。 – Benny 2010-03-29 12:41:47