2010-03-29 38 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