0
这可能是一个愚蠢的问题,但对于我目前的搜索,我已经找到了主要关于数据呈现以及Presenter和View之间相互作用的信息,但对Model和Presenter很少。MVP中的文件操作在哪里处理?
基本上说,我有一个C#应用程序,它打开一个CSV文件,它是一个5乘5的数字数组。现在,如果我想将5乘5的CSV数组加载到一个int数组中,那么在宏模式中处理的是哪里?
这是我目前的想法,遵循MVP,但请纠正我,如果我错了(或确认我是对的,如果我设法成为)。
- 用户单击按钮加载文件。
- 视图加载showOpenDialog()供用户选择文件。
- 用户在该对话框中单击确定后,View就会向包含该文件名的演示者发送一个事件。
- 演示者获取该文件名,处理打开的文件并将其解析为5 x 5的int数组。
- 然后,演示者通过事件将该int数组提供给Model。模型然后存储该数组。
- 该模型给出了一个事件,说它的数据已经改变。
- 演示者侦听并处理此事件,将该5 x 5 int数组放入DataTable中。
- 演示者提出一个事件,声明它具有新的DataTableready。
- 视图侦听并处理此事件,并使用DataTable提供的信息更新dataGridView。
我对MVP的理解在第5步有些模糊。这是应该怎么做,或者我误解了每个组件在MVP中的作用?
这是不是尽可能多的“我的路”,因为它的服务或演示要么建是“我的猜测”。作为后续问题,何时使用服务来加载文件更合适,而不是让演示者自己加载它们? – Xantham 2013-02-19 18:34:40
这取决于。一般来说,当你的业务逻辑变得更复杂。在我自己的应用程序中,我通常会以任何一种方式合并服务层......但由于逻辑层次的原因,我们总是这样做。 – 2013-02-19 22:31:18