#c #oop #user-interface #controller #grasp
Вопрос:
Я разрабатываю графическое приложение на C . Я знаю о контроллере GRASP, что он должен делегировать пользовательский интерфейс и системные события внутреннему приложению, при необходимости выполняя некоторые синхронизации. Но у меня есть несколько вопросов по поводу этой модели.
- Должен ли пользовательский интерфейс обращаться к контроллеру через интерфейс? Я видел, что в PHP они этого не делают, но это может дать мне некоторые преимущества, или это будет просто бессмысленное усложнение кода? Как это принято в сообществе программистов?
- Как должен называться контроллер? В моем графическом интерфейсе у меня есть форма, которая выполняет множество разных действий: загрузку файлов, подключение к серверу, изменение настроек. Итак, как было бы лучше назвать этот контроллер? Назвать его так
MainFormController
, чтобы он содержал имя элемента пользовательского интерфейса(в данном случае это такMainForm
)? Или как это назватьApplicationController
? Потому что в нем может быть много разных событий, которые нельзя назвать более конкретно. - Какой класс должен обновлять пользовательский интерфейс? Должен ли контроллер это делать? В этом случае контроллер будет обрабатывать события из пользовательского интерфейса и обновлять пользовательский интерфейс синхронно или асинхронно. Это хорошая практика?
- Должен ли класс, который должен будет обновлять пользовательский интерфейс, обращаться к пользовательскому интерфейсу через интерфейс? Или он может напрямую получить доступ к элементу пользовательского интерфейса(в моем случае это так
MainForm
)? (can
означает, что это правильно в соответствии с шаблонами).
Я бы очень хотел проанализировать проект, в коде которого есть хорошо продуманный пользовательский интерфейс. Если вы знаете это, я был бы благодарен.
Надеюсь на вашу помощь!
P. S: Я знаю, что вопрос может быть основан на мнении, но я хочу знать, что думают об этом профессиональные программисты. Или, может быть, для этого вопроса есть форум StackExchange?