Managing allocation and release of memory.

Operation that returns without waiting for completion.

Distinct level of functionality in software architecture.

Data sent between software components.

Standardized database organization level.

Architecture organized into functional layers.

Storing messages until consumers process them.

Message informing software or users about an event.

Stream from which a program reads data.

Computing an expression only when needed.