Objects versus Components
Definition of objects is purely technical
- Encapsulation of state and behavior, polymorphism, inheritance
- Does not include notions of independence or late composition (although they can be added…)
Object markets did not happen
- Like the FPGA market-- vendors give the tools away to sell a companion product (e.g. MFC)
In OO, construction and assembly share a common base
- Development is very technical, assembly is very technical
- In CO, construction is technical, but assembly must be open to a wider user base
Objects are rarely shaped to support “plug-and-play”
Typically a component has to have sufficiently many uses, and therefore clients, for it to be viable
“Object orientation has failed but component software is succeeding”