DDD Glossary http://dddcommunity.org/resources/ddd_terms/ Flashcards

1
Q

Define: Aggregate

A

A cluster of associated objects that are treated as a unit for the purpose of data changes. External references are restricted to one member of the AGGREGATE, designated as the root. A set of consistency rules applies within the AGGREGATE’S boundaries.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Define: Assertion

A

A statement of the correct state of a program at some point, independent of how it does it. Typically, an ASSERTION specifies the result of an operation or an invariant of a design element.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Define: Bounded Context

A

A description of a boundary (typically a subsystem, or the work of a particular
team) within which a particular model is defined and applicable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Define: Client

A

A program element that is calling the element under design, using its capabilities.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Define: Cohesion

A

Logical agreement and dependence.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define: Command

A

(a.k.a. modifier) An operation that effects some change to the system (for example, setting a variable). An operation that intentionally creates a side effect.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Define: Context

A

The setting in which a word or statement appears that determines its meaning.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Define: Context Map

A

A representation of the [Bounded Context]s involved in a project and the actual relationships between them and their models.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Define: Core Domain

A

The distinctive part of the model, central to the user’s goals, that differentiates the application and makes it valuable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define: Declarative Design

A

A form of programming in which a precise description of properties actually controls the software. An executable specification.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Define: Deep Model

A

An incisive expression of the primary concerns of the domain experts and their most relevant knowledge. A deep model sloughs off superficial aspects of the domain and naive interpretations.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Define: Distillation

A

The abstraction of key aspects in a model, or the partitioning of a larger system to bring the CORE DOMAIN to the fore.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Define: Domain

A

A sphere of knowledge, influence, or activity.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Define: Entity

A

An object defined by a thread of continuity and identity (not by its attributes)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Define: [Pure] Function

A

An operation that computes and returns a result without observable side effects.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Define: Immutable

A

The property of never changing observable state after creation.

17
Q

Define: Invariant

A

An Assertion about some design element that must be true at all times, except during specifically transient situations such as the middle of the execution of a method, or the middle of an uncommitted database transaction.

18
Q

Define: Layered Architecture

A

A technique for separating the concerns of a software system, isolating a domain layer, among other things.

19
Q

Define: Life Cycle

A

A sequence of states an object can take on between creation and deletion, typically with constraints to ensure integrity when changing from one state to another. May include migration of an [Entity] between systems and different [Bounded Contexts].

20
Q

Define: Model

A

A system of abstractions that describes selected aspects of a domain and can be used to solve problems related to that domain.

21
Q

Define: Repository

A

A mechanism for encapsulating storage, retrieval, and search behavior which emulates a collection of objects.

22
Q

Define: Service

A

An operation offered as an interface that stands alone in the model, with no encapsulated state.

23
Q

Define: Unification

A

The internal consistency of a model such that each term is unambiguous and no rules contradict.

24
Q

Define: Value Object

A

An object that describes some characteristic or attribute but carries no concept of identity.

25
Q

Define: Implicit Concept

A

A concept that is necessary to understand the meaning of a model or design but is never mentioned.