Complete Model / View Seperation
My colleagues are interested in refactoring a mid-size (15,000 line) application to use a complete separation of Qt from the model. That is to say, the model would not contain any "Q" types at all and would live in a separate directory. A controller would then be used to talk to the view.
We're used this architecture to good effect in the past, for a real-time application. In this case the threading model was more complex (since it was for real-time apps), so it was advantageous to have the underbelly in pure C++.
In the case of our current application however I'm not so sure. It's a single-threaded application and most of the data that would be contained in the "model" is view-related data anyway, such as panel positions and widget sizes.
My question is, how often is a complete separation of model from view an approach that is used in practice for Qt? Is this something you've personally used to good effect?
Hi and welcome to devnet,
Honestly if you don't have constraints I suggest to use Qt classes also for the backend model side.
Using Qt you can easily use the Model/View classes or other features that could be useful for the application logic like networking, thread management, database connection ans so on.