Cluster of domain objects treated as one consistency unit.

Main entity controlling access to an aggregate.

Service coordinating application-level operations.

Logic coordinating application operations.

Component translating between interfaces or systems.

Design feature suggesting how something can be used.

Interface separating interacting software components.

Gateway managing external API requests.

Component combining responses from multiple services.

Layer protecting one domain model from another.

Long-term cost caused by architectural compromises.

Rule restricting architectural choices.

Iterative approach emphasizing adaptability and collaboration.

Foundational statement of Agile software-development values.

Conditions that must be satisfied for acceptance.

Phase identifying requirements and constraints.

Maintenance adapting software to changed environments.

Data type defined by its behavior rather than implementation.

Hiding implementation details while exposing essential behavior.

Test verifying software meets user or business requirements.

Mechanism controlling who can access resources.

Keyword controlling visibility of classes or members.

Credential representing authorization to access a resource.

Access Control List specifying permitted operations or users.

Microsoft directory service for managing network resources.

Object whose operations execute asynchronously.

Design pattern combining database records with domain objects.

Pattern allowing incompatible interfaces to work together.

Software designed to adjust to changing conditions.

Query created for a specific, usually temporary purpose.

Range of memory addresses available to a process.

User with elevated permissions over a system.

Software development approach emphasizing iterative delivery.

Principles emphasizing people, collaboration, and working software.

Technique for asynchronous browser-server communication.

Step-by-step procedure for solving a problem.

Measure of resources required by an algorithm.