What is a component ?

A component is a class that, for PicoContainer at least, is characterized in the following ways :



Single constructor



Reusable in many different deployments



1. Single constructor

A single constructor that many have other components as parameters



The constructor is not mandadatory. If there is must only contain arguments that other components can satisfy. This does not include primative types (int etc), String itself or other classes that are not components.



2. Reusable in many different deployments

The ability to be instantiated in a variety of deployment scenarios (root, servlet, applet ClassLoaders etc)



Probable (but not mandatory) interface/implementation separation.