.netwinformsmvpscsf

MVP Implimentation - Smart Client Software Facotry (SCSF) vs. The MVC# Framework


I came across these two tools to help in implementing the MVP pattern in Microsoft .NET: Architecting Applications for the Enterprise. The book just has a few paragraphs about them, so I'd like to explore them more in-depth.

I currently am only concerned with .NET Windows Forms development. I haven't used either tool yet, and was curious if anyone has had experience with both/either of them. What are the pros and cons between the two? Are both comparable, or is one more "De facto" than the other.

Links for those unfamiliar about the tools:


Solution

  • Well, since few have viewed this page and none have commented/answered, I'll provide an answer to my own question, now that I've researched a bit about both.

    MVC# Framework looks like a nice lightweight project, but it is still in beta and hasn't had much activity in the past 2 years or so (thus only a VS 2008 release, though it probably works fine in VS2010). I am a bit concerned using it in production code as it's future/maturity might be in question. This is unfortunate as it was mentioned with enthusiasm by Dino Esposito in his book (which was written around the time MVC# came out).

    SCSF appears to be a heavyweight project, but is supported by the Patterns and Practices team at Microsoft. It has a release for VS 2010 (as well as 2008). It is not in beta and should thus be a more mature option. It also uses the Enterprise Library 5.0. Since I am interested in Unity for IoC and perhaps AOP purposes, the dependency on Enterprise Library 5.0 won't be a big deal. That said, I worry that this is still too heavyweight, swiss-army-knife, a project. The same can be said of Enterprise Library (I mentioned interest in it as it might be an easier sell to other developers unfamiliar with relevant agile patterns and practices since it's "from Microsoft").

    Neither of these tools appear to be "de facto" though (such a tool doesn't seem to exist here with MVP). So I'm all ears for comments on other approaches to MVP implementation in windows forms. Is homegrown best?