【发布时间】:2015-05-11 18:14:22
【问题描述】:
我正在使用 MVP 模式编写一个应用程序,我很好奇是否有一种“正确”的方式可以将用户输入从 View 传递给 Presenter。
例如,我有一个带有文本框和“搜索”按钮的简单搜索表单。在 Presenter 中,我有一个执行搜索并使用结果填充视图的函数。在搜索按钮的 Click 事件中,我调用了 Presenter 中的搜索函数。
我的问题是,最好将用户输入作为参数传递给 Presenter 中的搜索功能,还是在 View 中创建一个 Get 访问器以供 Presenter 检索用户输入?
例子-
在视图中:
private void btnSearch_Click(object sender, System.EventArgs e)
{
presenter.Search(txtUserInput.Text);
}
在演示者中:
public void Search(string userInput)
{
//perform search
}
或
在视图中:
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
}
【问题讨论】: