Object-Oriented Design

Roles: class, object, method, interface, inheritance-hierarchy, encapsulation, polymorphism

The organization of software around objects — bundles of state and behavior that model entities, interact through messages, and compose through inheritance and delegation. OOD is itself a layered metaphor (objects as things, messages as communication, inheritance as biological lineage), making it a uniquely fertile target domain: nearly every design pattern name maps a concrete source domain onto these already-metaphorical abstractions.

As Target Frame (20)