Distinguishing between delegation, composition and aggregation (Java OO Design)
问题 I am facing a continuing problem distinguishing delegation, composition and aggregation from each other, and identifying the cases where it's the best to use one over the other. I have consulted a Java OO Analysis and Design book, but my confusion still remains. The main explanation is this: Delegation : When my object uses another object's functionality as is without changing it. Composition : My object consists of other objects which in turn cannot exist after my object is destroyed-garbage