Это может быть глупый вопрос, но с моими текущими поисками я нашел в основном информацию о представлении данных и взаимодействии между презентатором и представлением, но очень мало о Модели и Презентаторе.Где хранятся файловые операции в MVP?
В принципе, скажем, у меня есть приложение C#, и он открывает CSV-файл, который представляет собой массив чисел 5 на 5. Теперь, если бы я хотел загрузить этот массив 5 на 5 CSV в массив ints, где это обрабатывается в грандиозной схеме?
Это моя нынешняя идея следовать MVP, но, пожалуйста, исправьте меня, если я ошибаюсь (или подтвердите, что я прав, если мне удастся быть).
- Пользователь нажимает кнопку, чтобы загрузить файл.
- View загружает showOpenDialog(), чтобы пользователь мог выбрать файл.
- После того, как пользователь щелкнет в этом диалоговом окне, View, отправляет событие ведущему, содержащему это имя файла.
- Ведущий принимает это имя файла, обрабатывает открытие файла и разбирает его в массив 5 x 5 int.
- Затем ведущий предоставляет этот массив Int в Model через событие. Затем модель сохраняет этот массив.
- Модель дает событие, в котором говорится, что данные были изменены.
- Ведущий прослушивает и обрабатывает это событие, помещая этот массив 5 x 5 int в DataTable.
- Ведущий поднимает событие, заявляя, что у него новый DataTableready.
- Вид прослушивает и обрабатывает это событие и обновляет dataGridView информацией, предоставленной DataTable.
Мое понимание MVP становится мутным примерно на шаге 5. Это то, как это должно произойти, или я неправильно истолковал, что каждый компонент делает в MVP?
Это было не так много «мой путь» как это была «моя догадка». В качестве последующего вопроса, когда более целесообразно использовать службу для загрузки файлов, чем заставить сам презентатор загружать их самостоятельно? – Xantham
Всё зависит. Обычно, когда ваша бизнес-логика становится более сложной. В моих собственных приложениях я обычно включаю сервисный уровень в любом случае ... но на работе мы всегда делаем это из-за уровня логики. –