views:

45

answers:

1

Can anyone speak to the ease of dividing work amongst multiple developers when designing and building a medium- to large-complexity Silverlight or WPF application? My team is finding it difficult to cleanly split work when you've got, for example, a number of controls that provide different visualizations of a Model/ViewModel that's fairly complex and has a lot of properties and methods for interacting with data. It seems like a very big portion of the work ends up being the design and build of the Model/ViewModel, and much less inside each of the controls, which are naturally what are easy to ration out to multiple people.

+4  A: 

MVVM is especially well suited to this - much more suited than previous user interface options, in my experience.

The "trick" is to break up your application into composite parts. Instead of having one, single, huge Model/ViewModel, have many smaller ViewModels, each responsible for a single part of the program. You would use the same basic structure to break up the View, keeping in mind that you can always nest a view inside of another view if you use UserControls.

This allows you to assign individual Views or ViewModels to individual developers, with almost no overlap.

It sounds your ViewModel and Model classes are too complex.

Reed Copsey
Not to mention, if you don't have a dedicated designer, one more design-apt developer could focus more on the view and wiring it up then the core (model/viewmodel).
Aren
I agree -that's another major advantage to WPF and Silverlight.
Reed Copsey
Plus you get easy *testability* of the modules
Przemek