我正在使用.NET 3.5表单应用程序,行为稍微复杂一些。这是一本书库存。为了给你一个想法,工作流程将是:
这有四个责任:
我的问题是:我应该将应用程序逻辑保留在一个MVP结构中还是应该将其拆分为四个MVP结构,每个责任一个?
将其保存在一个MVP结构中
将其保存在单独的MVP结构中
我正在尝试Presenter第一原则,所以: - 保持视图愚蠢(所以没有像“Presenter one valid the ISBN”这样的事件), - 让演示者无国籍, - 保持模型简单(足够)
任何人都知道最好的方法是什么?
答案 0 :(得分:1)
我会选择一位Presenter,但将ISBN编号的验证等委托给服务。
演示者在这些行中处理正在输入的ISBN的内容:
public void IsbnEntered()
{
var isbn = view.Isbn;
if (isbnService.NumberIsValid(isbn))
{
var details = isbnService.RetrieveDetailsForIsbn(isbn);
if (details != null)
{
view.Display(details);
view.EnableSaveButton();
}
else
{
view.DisplayError("ISBN could not be found");
}
}
else
{
view.DisplayError("Invalid ISBN");
}
}
这里的职责定义明确。 IsbnService负责ISBN处理,View for display和输入检索,Presenter负责管理两者之间的交互。