Я пытаюсь получить хорошее представление о том, как реализовать хорошее разделение между пользовательским интерфейсом и моделью, но мне сложно понять, где именно разделить линии.
Я смотрел на Model-View-Presenter, но я не уверен, как именно реализовать его. Например, мой вид имеет несколько диалогов.
- Должен ли быть класс View с экземплярами каждого из диалогов? Тогда в таком случае, как диалоги должны взаимодействовать с докладчиком? то есть. если отдельное диалоговое окно должно запрашивать данные из модели через докладчик, как диалоговое окно должно получить ссылку на докладчик? Через ссылку на вид, данный ему во время строительства?
- Я думал, может быть, представление должно быть статическим классом? Тогда диалоги GetView и получить оттуда Presenter ...
- Я думал о настройке Presenter с правами на View и Model (в отличие от View с Presenter и Presenter с Model) и Presenter, регистрирующих обратные вызовы для событий в View, но из-за этого это выглядит много более связанный (или язык зависит, по крайней мере.)
Я пытаюсь:
- сделать это как можно отделенным
- в идеале сделать возможным связать Presenter / Model с представлениями других языков (я не делал тонны межъязыковых вещей, но я знаю, что это возможно, особенно, тем более
void(void)
я могу придерживаться, по крайней мере, приложения C # с Библиотека C ++ ... - сохранить код в чистоте и простоте
Итак ... какие-либо предложения, как взаимодействия должны быть обработаны?