Domain Driven Design
Domain-Driven Design (DDD) is a software design approach, introduced by Eric Evans, that structures complex software around a deep model of the business domain it serves, using a shared "ubiquitous language" between developers and domain experts.
13 resources across 2 libraries
Glossary Terms(3)
Design Patterns
Design patterns are general, reusable solutions to commonly occurring problems in software design, providing a shared vocabulary and proven structural template…
Behavior-Driven Development (BDD)
Behavior-Driven Development (BDD) is a software development approach that extends test-first practices with human-readable, business-focused specifications, ty…
Domain-Driven Design (DDD)
Domain-Driven Design (DDD) is a software design approach, introduced by Eric Evans, that structures complex software around a deep model of the business domain…
Interview Questions(10)
What is the Anemic Domain Model Anti-Pattern?
An Anemic Domain Model is an object design where domain classes contain only fields and getters/setters with no real behavior, while all the business logic tha…
What is a Value Object?
A value object is an object defined entirely by its attribute values rather than a unique identity, meaning two value objects with the same data are interchang…
What is an Entity vs a Value Object?
An entity is an object distinguished by a persistent, unique identity that remains stable across its lifetime even as its attributes change, while a value obje…
What is a Domain Model in OOP?
A domain model is an object-oriented representation of the real-world concepts, rules, and relationships in a business area, where classes map to nouns like Or…
What is the Specification Pattern?
The Specification pattern encapsulates a business rule as a standalone object with an isSatisfiedBy(candidate) method, so rules can be composed with and(), or(…
What is the Repository Pattern?
The Repository pattern is a design pattern that mediates between the domain/business logic and the data mapping layer, exposing a collection-like interface (ad…
DAO vs Repository Pattern
The DAO pattern is a low-level abstraction that wraps raw persistence operations for a single table or entity (CRUD, queries), while the Repository pattern is…
What is a Microservices Architecture?
A microservices architecture structures an application as a collection of small, independently deployable services, each owning a specific business capability…
What is CQRS (Command Query Responsibility Segregation)?
CQRS is an architectural pattern that splits a system into two separate models — one for writes (commands) and one for reads (queries) — instead of using a sin…
What is an Anti-Corruption Layer?
An anti-corruption layer is a translation boundary placed between two systems with different domain models, so that a service’s internal model stays clean and…