Практика программирования MVC - PullRequest
2 голосов
/ 08 декабря 2011

Я работаю над новым программным обеспечением и стараюсь сделать его как можно более модульным. Я давно программирую ... но мне не хватает некоторых ключевых принципов, которые я изучаю по мере продвижения вперед.

Пытаясь сделать мой текущий проект модульным, я использую архитектуру модель-представление-контроллер. При разработке своего приложения я обнаружил определенные вещи, в которых я не уверен. Итак, я прихожу к вам ...

Я дам вам некоторую информацию, которая может быть полезна:

  • Я разрабатываю это приложение на Qt.
  • Это настольное приложение.
  • однопользовательский, поэтому не очень сложный

Мои вопросы:

  1. При реализации различных модулей (моделей, видов и т. Д.) И всех классов, связанных с ними, я должен инициализировать модули внутри модулей? Должен ли я создать «модель» экземпляр в «контроллер», или я должен создать все в «MAIN» и просто передать модули как ссылки?

  2. Моя стратегия состоит в том, чтобы разделить мое приложение на множество пакетов MVC. Каждый будет следовать основным принципам: модель получает данные, вид отображает его, и контроллер берет на себя все взаимодействия между модель-представление и выполняет всю необходимую логику. Это правильно?

Я ценю всю вашу помощь.

Спасибо.

1 Ответ

2 голосов
/ 08 декабря 2011

Должен ли я создать экземпляр «модели» в «контроллере», или я должен создать все в «MAIN» и просто передать модули как ссылки?

Передайте модули как ссылки. Я не знаю, есть ли в Qt концепция пакетов в пакете, но в Java у меня есть отдельные пакеты для модели и представления.

Моя стратегия состоит в том, чтобы разделить мое приложение на множество пакетов MVC. Каждый из них будет следовать основным принципам: модель получает данные, представление отображает их, а контроллер заботится обо всех взаимодействиях между представлением модели и выполняет всю необходимую логику. Это правильно?

Да, это правильные принципы MVC.

Иногда в более сложном приложении представление вашего приложения может состоять из GUI (представление) и модели GUI (модель). В этом случае модель приложения, которая, вероятно, является моделью доступа к базе данных, взаимодействует с моделью GUI. Контроллер для графического интерфейса и приложения управляется действиями пользователя.

...