The increasing popularity of software reuse has resulted in a new term, Component-Oriented Programming, that not only encompasses object-oriented programming, but also has built-in mechanisms facilitating code reuse. To understand the mechanisms provided by .NET to facilitate component-oriented programming, we need to have a look at the nature of classes and code reuse.
Code reuse in this discussion will refer to reuse at the class level as previously described. It can involve more than one class.
Classes often collaborate— Objects of a class often collaborate with objects of other classes ...