That’s a pretty broad accusation, so in sake of keeping this rant short, I’ll limit my criticism to the Dependency Injection problems in these implementations, and reserve my right to complain about the rest of these factories later.
I saw an article on the MS Practices and Patterns site that mentioned a Web Client Software Factory. Given my earlier experience with the Web Services Software Factory, I didn’t necessarily expect this to be the greatest thing since sliced bread, but in my experience, there’s almost always something to be learned from seeing someone put a framework like this together, and I wanted to take a look.
I looked in the downloads section of the PNP site, and found a page for a Web Client Software Factory Sample. Cool. I downloaded it and tried to install it. Oops, I hadn’t actually installed the factory first, so I had to go get that and install it. And then I installed that, a nd got slapped down because I didn’t have Guidance Automation Extensions (GAX) installed. Small point of clarification: I actually did have GAX installed, but it looks like it was the wrong version. Thanks for the distinction on the error message.
After downloading the newest GAX, its install errored because I had an older-version GAX installed. Grrrr! So you can see where this is going, right? I tried to uninstall GAX, and the uninstall failed. It told me that the uninstall had failed because there were a bunch of software factories installed that depended on GAX. In order to upgrade GAX, I was going to have to uninstall ALL OF THE SOFTWARE FACTORIES I’D ALREADY INSTALLED, then install GAX, and then, presumably, go find updated versions of all the software factories, because the old ones wouldn’t have worked with the new GAX.
ARE YOU KIDDING ME???
So this is where I bailed. Absolutely unacceptable. Isn’t this ***precisely*** the sort of DLL hell that the .Net framework was supposed to relieve? I haven’t checked to see if any of my “old” software factories still work – I’m sure I’m in for another treat when I try that.
This is grounds to strike the word “Enterprise” from anything within ten yards of this junk. Immediately and without prejudice.