Vocabulary
Concepts
Application
Implementation
Understand?
100

What is a "DOMAIN EXPERT" and why are they important?

A member of a software project whose field is the domain of the application, rather than software development. Not just a user of the software, the DOMAIN EXPERT has deep knowledge of the subject.

100

Why is using Ubiquitous Language important?

Bridges the gap between developers and domain experts

100

List 3 UBIQUITOUS LANGUAGE terms in your domain

Team, do you agree?

100

Who is the authority on DDD?

Eric Evans

100

Describe a model that your team has created and how it's helpful

Team, was that a valid example?

200

What is a BOUNDED CONTEXT?

Representation of the solution space, how the software and the development of that software has been organized

200

List the 3 main concepts of DDD

Ubiquitous Language, Bounded Context, Core Domain

200

Educator Licensing, Student Attendance, and Chart of Accounts could all be examples of what in USIMS Domains?

Bounded Contexts

200

How should developers apply UBIQUITOUS LANGUAGE in their work?

Keep the code base in sync using this terminology and name all the classes and tables in the database after the terms in the ubiquitous language

200

What is the Anti Corruption Layer and give an example how you can use it in your domain.

Anti Corruption Layer is used to maintain the integrity of business data and models when integrating with external systems or legacy applications. It isolates the core system from external influences by translating data and requests between the two.

300

Define CORE DOMAIN

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

300

What is a Value Object in DDD

An object that is used to measure, quantify, or describe something in your domain. It has no concept of identity and it is immutable

300

DDD is appropriate when: (select correct answer(s))

a) Large amount of Data
b) Performance
c) Business Complexity
d) Technical Complexity

c) Business Complexity

300

What are some differences between ENTITIES and VALUE OBJECTS?

Value objects don't have ID, can be treated interchangeably, and are immutable

Entities have ID and are mutable

Value objects are owned by at least 1 Entity

300

List 3 patterns that contribute to Supple Design

Intention-Revealing Interfaces
Side-Effect-Free Functions
Assertions
Closure of Operations
Standalone Classes
Model-Driven Design
Ubiquitous Language
Conceptual Contours

400

What is a CONTEXT MAP?

a map that renders the bounded contexts in a system and the relationships between them and their models

400

What is an Entity in DDD?

Something that needs to be able to be tracked, located, retrieved, and stored. It has an identity key. Its properties may change.

400

Describe EVENT STORMING

A brainstorming session with domain experts and development team to identify EVENTS (written in past tense) to get an understanding of the domain, identify bounded contexts, and uncover problem areas

400

What is the difference between Domain Events and System Events and give an example

Domain events are pertinent to the domain while System events are related to the infrastructure

Click SAVE in Student Registration is System Event while the new Student being registered is a Domain Event (as and example but any example is fine)

400

What are 

groups of concepts that represent a common construction in business

modeling. It may be relevant to only one domain or it may span many domains

Analysis Patterns

500

What are Aggregates and Aggregate Roots?

Aggregates consist of one or more entities and value objects that change together as a unit

Aggregate Root is the parent object of all members of the aggregate

500

How is DDD different from other development approaches? Give 3 examples

Team, do you agree with this answer?

500
Explain how we are applying DDD to our domain.

OR Explain how we SHOULD be applying DDD to our domain.

Team, do you agree with the answer

500

What's the difference between Domain Services and Application Services?

The difference here is that an Application Service resides outside of the domain layer, whereas a Domain Service is inside of it. It means that Application Services are in charge of communicating with the outside world and shouldn't contain any domain logic.

500

Give an example of an analysis pattern you've applied in your domain

Team, do you agree?

M
e
n
u