1999 was my Year Of COM, where I read a minimum of 6 books on COM and was renewed as a developer, working in COM for fun and profit with every spare minute I had. And throw in transactional rollbacks? And MSMQ? Mmmm-Mm! Writing applications couldn't GET any better!
Then Comdex 2000 in Las Vegas I saw an early .NET beta and the demonstrator told me that COM was going away. I didn't read another technical book (of any kind) nor write another COM component for six months. I was despondent and pissed.
But I thought of COM last night when I was editing an email utility class and I smiled in remembering one of the reasons why I was so fired up about COM back in 1999: the ability to reuse code. This philosophy behind COM is alive and well in .NET if we build our applications accordingly. Last night I put a number of interdependent apps into production, with most of them generating emails of some kind. When I did my final testing I sure as heck didn't want dummy emails flying through the offices of HQ, so since I designed my site with reusable, centralized classes I could make a change in a single method of one class and all emails would be directed to me alone, regardless of the app that initiated them. So sweet!
Of course, if I ever found myself working on a project where I had to work with REAL COM or COM+ components? I'd hang myself.