Alex Rivera | Logout

Implementing MVC with Windows Forms

Asked 2009-03-17T15:23:11.827
105

Where can I find a good example on how to completely implement the MVC pattern in Windows Forms?

I found many tutorials and code examples on various sites (for example, The Code Project and .NetHeaven), but many are more representative for the observer pattern than MVC. Since the application I want to develop is for a school project, I am reluctant to using frameworks like PureMVC or MVC#.

Edit
Report

1 Answer

117

I am of the view that applications are so different from each other and our understanding of how applications should be written is still very limited. Past Windows Forms applications I have worked on have been so different from each other. Some of the design differences I have seen are (including most combinations):

  • Directly talk to the database (2 tier)
  • Use a backend that has been written for the given application (3 tier)
  • Use a set of web services that were written for use by many applications and can’t be changed for your application. (Service-oriented architecture)
  • Updates being done by CRUD operations
  • Updates being done with the command pattern (sending commands to backend server)
  • Lots of usages of data binding / no usages of data binding
  • Most data being “table like” (e.g. invoices) that work well in standard grid controls / need custom controls for most of the UI data.
  • One developer / teams of 10 or 20 developers (just on the UI)
  • Lots of unit test using mocks etc / no unit tests

Therefore I don’t think it’s possible to create one implementation of MVC (or MVP) that always fits well.

The best posts I have seen really explaining MVC and why an MVC system is built the way it is, is the "Build Your Own CAB" series by Jeremy D Miller. After working though it you should be able to understand your options a lot better. Microsoft's Smart Client Guidance (CAB / Microsoft C

answered 2009-03-25T15:53:43.137

Your Answer