我正在开发行为稍微复杂的 .NET 3.5 表单应用程序。是用来存书的。为了给您一个想法,工作流程将是:
- 用户输入 ISBN 代码
- 如果ISBN有效,检查是否存在,
- 如果有效且存在,则显示图书详细信息并启用保存按钮,如果不是,则显示“添加图书”按钮,
- 如果它无效,则显示错误,
- 最终,用户将单击“保存”,因此必须保存条目。
这是四个责任:
- 验证 ISBN,
- 检查书的存在,
- 显示图书详情,
- 保存新书详细信息。
我的问题是:我应该将应用程序逻辑保留在一个 MVP 结构中,还是应该将其拆分为四个 MVP 结构,每个职责一个?
将其保持在一个 MVP 结构中
- 使模型更复杂
- 使测试设置更加复杂(每个测试都有很多设置代码来选择正确的验证器、退回的书等,即使它们没有被使用),
- 使表示逻辑更容易遵循
将其保存在单独的 MVP 结构中将
- 使模型更简单,
- 为每个演示者创建更多但更简单的测试,
- 在演示者之间的交互中增加复杂性(我如何向演示者表明 ISBN 有效,以便显示图书详细信息?)
我正在尝试演示者第一原则,所以: - 保持视图不变(所以没有像“演示者验证 ISBN”这样的事件), - 保持演示者无状态, - 保持模型简单(足够)
任何人都知道最好的方法是什么?