An interesting post called “Build Your Own Cab” Part 1 by Jeremy D Miller provides some interesting insights on Windows Forms development. It’s worth a look.
He speaks about the reasons behind MVP approaches to UI development such as the Composite UI Framework.
He makes interesting points about the fact that the average winform has many different purposes including:
- The actual presentation to the user
- Capturing to user input events
- Input validation and business rules
- Authorization rules
- Screen flow and synchronization
- Interaction with the rest of the application
This list seems to indicate that the classic winform approach is not a good example of the principle of “seperation of concerns”.
As he points out, this sort of code is difficult to test. Although the forms can be instantiated within NUnit, sometimes they have dependencies that make this difficult.
It’ll be interesting to see how the series develops.