Generic Software Components
We claim that to be effectively reusable, software components must
be generic. Otherwise:
- Each decision that is hard-coded into a component becomes a
requirement on the use of that component.
- There will be a combinatoric number of components based on
combinations of decisions.
- It will be hard to find the right component among the many
- Learning the requirements of a component becomes a burden on the user.
- Conforming to the requirements reduces the benefit of reuse.
- Changes will require changes of components.
Instead, there should be only one generic version of each component,
which should serve for all uses in all languages.