Programming based on objects and classes.

Simplified replacement for a component during testing.

Metadata attached to code elements.

Pattern where objects receive state-change notifications.

Future cost caused by expedient technical choices.

Function without a declared name.

Technique mapping objects to relational database data.

Control over visibility of concurrent transactions.

Defined interface for software interaction.

Defining multiple operations with different signatures.