Software Components

As we walk through our imagined system, we will assign behavior to different agents. To begin with these agents will be very abstract, so we use a general name. A software component is simply an abstract design entity with which we can associate responsibilities for different tasks.

Eventually, a component may turn out to be mapped into a class, or a function, a module, or something entirely different. Regardless of its final implementation form, a component should have certain properties.

[audio] 12 [real] 12 Text to accompany slide 12, in Chapter 2 of An Introduction to Object-Oriented Programming