Lately I’ve been working with the Microsoft Enterprise Solution Patterns
and found myself finally getting the long-awaited chance to put theory into practice in a way that doesn’t happen enough practicing enterprise development. In my experience (which is heavily biased in favour of doing web development for clients in the role of a consultant) too often some account exec or sales droid is standing nearby trying to somehow manage both scope and timeline in the same breath without any consideration to longer-term requirements, maintainability or whatever. The fear really is one of applying unfamiliar methods or theoretical principles (no matter what other euphamisms one uses to rationalize it differently) in the name of getting it out the door and billing the client.
And unless one has the advantage of suggesting they’re speaking from experience, it’s pretty difficult to suggest adopting a formal appraoch that differs from past practice(s) is gonna work fine, within (often finite) estimable timelines. But I thought it would be worth adding my voice to a growing chorus that suggests the design practices literature at the MSDN Library site might be worth a look
. Many of the principles there are fairly common-sense and I can’t say the word "unfamilliar" was really appropriate to most of them in my case. But I was called upon recently to use a design approach called the "Front Controller" design pattern
in the creation of an educational content management system UI and, although there’s probably still a couple of architectural points of discovery ahead of me, I gotta say the experinec e of embracing and applying these principles on a real project with meaningful scope has been very, very rewarding.
In the weeks and months ahead, other aspects of the .NET Enterprise Design Patterns will become equally