Popular in 1990s
Data-centric – it evolves around class models
Matches the event-driven programming demanded by
interactive GUI-based applications
Addresses the needs of emerging applications, e.g.
workgroup computing and multimedia systems
Good at fighting application backlogs using object
wrapping and similar technique
Aligns with the iterative and incremental process