Web Client Software Factory and Enterprise Library. I want to Opt-in, not Opt-out.
I am a fan of the Web Client Software factory. Its a pretty good implementation of the MVP pattern within ASP.NET. Pretty lean and clean and doesn't involve lots of effort to get the simple stuff done, unlike a lot of other MVC based implementations/frameworks.
One of the things I don't like about it is the automatic inclusion of the Enterprise Library pieces. I know that Entlib integration has been a requested feature of WCSF, but not all of us want it integrated all the time, by default. Ideally I'd like the recipe to prompt whether that support/integration should be included.
Why?
Well Entlib comes with a lot of weight. Its feature heavy but also heavy in complexity and has a large dependency on its myriad of assemblies. Usually migrating from one version to another comes with a degree of pain and in my current crop of projects, not something I wish to entertain. Things like logging and exception management can be better managed by simpler, lightweight implementations specifically designed for my project/solution, in a simpler, leaner way. There is also nothing preventing me from re-adding it back into the solution if I need to.
Its kind of like taking the WCF mantra where you need to "opt-in" for features rather than all the features are there/on by default and you need to remove/disable them (think DataContracts/DataMembers where you need to explicitly include a DataMember before its included as part of the serialization - Opt-in, not just mark a class as Serializable and everything is included - Opt-out).
There has been some discussion around the use and/or recommendation of Entlib on projects, internally on the readify tech lists. A number opposed to its use, others in favor, some on the middle ground in between. The point being, clearly its not for everyone.
I want to Opt-in.