I was wondering if there are best well-known methods, architectures, 3rd party libraries, etc to help developers program UI?
I am thinking about something which would help in the following areas:
-
When looking into the code written by someone else,
I would like to know instantly, what UI serves, what are the states of the UI,
From which does the state depend on? -
Something which could clearly separate logic for each state
State for me would be the state of all components when:
- user run winform
- user makes a decision and executes some action, The result of his action
is another state of UI Form - user leaves the form
- etc.
For me as a developer, programming in mvc, which is a good, because allow to seperate logic(view, manipulating and data access) it is still confusing when I see events doing something, which to be honest I have to re-think in which situation that may occur, what and when it is doing…
Do you know what I mean?
Any suggestions greatly appreciated..
In WinForms this is hard, since the GUI and code behind is very tightly coupled.
I would recommend using WPF instead, and a MVVM (Model-View-ViewModel) framework as Caliburn.Micro to better separate the GUI from the logic. It’s a much better model for development than WinForms ever was.