Seems like they're not unless they can be dynamically bound at runtime. But then again smalltalk/perl/python objects can be dynamically bound at runtime ... so can we call any interpretive object a component? ----- Objects are components if they conform to the protocols of a ComponentFramework and are packaged in such a way that they can be instantiated by and bound into the framework. ----- alternatively: I have no problem with dynamically instantiated objects being components. An O/S is a framework within which discrete elements run. So they are also components. ----- I tend to think of it as a packaging concept, not a ''single object versus many objects'' one. For example, if you have a single class packaged in a redistributable way, then that class makes up the implementation of a component. If many classes make up a redistributable package, then just one of those classes is just one of the classes in that component. I don't see a lot of value in the component idea if it does not allow them to be switched in, out, and replaced. See Also AreComponentsObjects ---- CategoryComponents