MVP中处理文件操作的位置在哪里?

时间:2013-02-19 01:25:18

标签: c# user-interface file-io mvp

这可能是一个愚蠢的问题,但在我目前的搜索中,我发现的主要信息是关于数据的呈现以及Presenter和View之间的相互作用,但很少有关于模型和演示者的信息。

基本上,假设我有一个C#应用程序,它会打开一个5 x 5数字的CSV文件。现在,如果我想将5乘5的CSV数组加载到一个整数数组中,那么这在宏计划中处理了什么?

这是我目前关注MVP的想法,但如果我错了,请纠正我(或确认我是对的,如果我成功的话)。

  1. 用户单击按钮以加载文件。
  2. 视图加载showOpenDialog()供用户选择文件。
  3. 用户在该对话框中单击“确定”后,View会向包含该文件名的演示者发送一个事件。
  4. 演示者获取该文件名,处理文件打开并将其解析为5 x 5 int数组。
  5. 然后,演示者通过事件将int数组提供给Model。然后模型存储该数组。
  6. 该模型给出了一个事件,说它的数据已经改变。
  7. 演示者侦听并处理此事件,将该5 x 5 int数组放入DataTable中。
  8. 演示者提出一个事件,说它有一个新的DataTableready。
  9. 视图侦听并处理此事件,并使用DataTable提供的信息更新dataGridView。
  10. 我对MVP的理解在那里的第5步变得模糊不清。这是它应该如何,或者我是否误解了每个组件在MVP中的作用?

1 个答案:

答案 0 :(得分:2)

你在MVP中利用事件的方式很有意思......但是我一般都没有遇到过它。

根据我的经验,这是工作流程:

  1. 点击视图中的按钮
  2. 查看显示对话框
  3. 查看商店文件名
  4. 查看调用Presenter方法(例如,loadFile)
  5. Presenter使用View界面从属性中检索文件名
  6. 演示者a)使用服务执行加载或b)加载文件本身
  7. 模型是通过Service或Presenter构建的
  8. 模型通过loadFile方法传递回来查看