1
我正在写一个使用MVP模式的应用程序,并且很好奇,如果有一种“正确”的方式将用户输入从视图传递给演示者。MVP模式与WinForms - 正确的方式来访问用户输入?
例如,我有一个简单的搜索表单,带有一个文本框和一个“搜索”按钮。在Presenter中,我有一个执行搜索的功能,并在结果中填充视图。在搜索按钮的Click事件中,我调用Presenter中的搜索功能。
我的问题是,最好是将用户输入作为参数传递给Presenter中的搜索函数,还是最好在视图中为演示者创建一个Get访问器来检索用户输入?
实施例 -
在视图:
private void btnSearch_Click(object sender, System.EventArgs e)
{
presenter.Search(txtUserInput.Text);
}
在演示:
public void Search(string userInput)
{
//perform search
}
OR
在视图:
public string UserInput
{
get { return txtUserInput.Text; }
}
private void btnSearch_Click(object sender, System.EventArgs e)
{
presenter.Search();
}
在主讲人:
public void Search()
{
string userInput = view.UserInput;
//perform search
}
谢谢,这很有道理。 –