I’m new to complex gui applications. I know the MVC-pattern but I don’t know how to apply them on large gui applications.
Let’s take as example a large editor application. The editor has several menus and dialogs (page configuration, editor configuration, print dialog,…).
On university I learned to separate between user interface and business logic and communicate over an interface. In that example above the user interface is very large so that interface, call it viewinterface, is very large. All elements of the concrete view fire events which the corresponding application-controller handles.
I think for small guis this approach is possible but how to deal with large guis? Are the better patterns to solve this problem systematically?
The solution isn’t simple and it does not consist out of some simple answer with some “design pattern”.
What I would suggest you is to go step by step, depending on your platform and language apply some sort of MVC pattern, and also following common GoF design patterns for separating commands etc… If you didn’t read GoF book, the editor app is the example of all the patterns in there.
As long you follow the single-responsibility principle (and other SOLID principles), your interfaces will not be huge and cluttered, but applying all these techniques requires experience, and practice …