Использование архитектуры mvc замечательно.
1 & 2 - В ссылке выше вы увидите диаграмму UML архитектуры mvc. Что касается этого, я бы подключил сигналы представления к методам контроллера, а затем вызвал метод представления из контроллера.
3 - Что касается доступа к базе данных, я бы добавил в вашу архитектуру часть доступа к данным, которая специализируется на доступе к данным. Вы можете иметь интерфейс для определения сигнатуры объекта доступа к данным, а затем реализовать его в специализированном классе для базы данных (так что вы сможете изменить расположение данных без изменения всего приложения).
4 - Вы, классные имена, кажется хорошим. Но я бы пошел дальше и назвал занятия:
- Для просмотра: ClassNameView
- Для контроллера: ClassNameController
- Для DataAccessObject: ClassNameDAO
- Модель: ClassName (и IClassName для интерфейса)
Надеюсь, это поможет