Found your thread languishing here, thought I'd respond. For starters, aggregation compares to encapsulation in OOP, but with some significant differences. What is nice is that little work is needed in the outer interface to expose an aggregated interface.
What is not nice is that an interface needs to be designed to be aggregatable from the get-go, a requirement that OOP encapsulation doesn't have. That limits the odds where you have a COM class laying on the shelf, ready to be borged. From my own work, when facing the question whether or not to support aggregation, I've yet to answer "yes, might be useful some day".
The headaches from implementing the delegating and non-delegating IUnknowns have led me to "no".
Every single COM object I've ever implemented or seen implemented has the no-aggregation check in it's create method. Most of the COM objects MSFT ships don't support aggregation.
I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.