In well developed object oriented software, functionality and data is encapsulated in objects. Objects are encapsulated in components. Components are encapsulated into systems. If this is done well the result is:
| Maximal coherence |
|
|
| Minimal interconnection | ||
| Solid interface definitions |
| Maximum maintainability, reuse and extensibility |