cnb0 / learning-ddd

Learning Domain Driven Design - DDD

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Learning Domain Driven Design - DDD

1. What Is Domain-Driven Design (DDD)

  - Building Domain Knowledge

2. The Ubiquitous Language

  - The Need for a Common Language
  - Creating the Ubiquitous Language
  - The Building Blocks Of A Model-Driven Design
  - Layered Architecture
        - Entities
        - Value Objects
        - Services
        - Modules
        - Aggregates
        - Factories
        - Repositories

3. Refactoring Toward Deeper Insight

  - Continuous Refactoring
  - Bring Key Concepts Into Light

4. Preserving Model Integrity -

  - Maintaining the Integrity of Domain Models with Bounded Contexts
  - Maintaining the Integrity of Domain Models with Continuous Integration
  - Maintaining the Integrity of Domain Models with Context Map
        - Shared Kernel
        - Customer-Supplier
        - Conformist
        - Anticorruption Layer
        - Separate Ways
        - Open Host Service
        - Distillation

5. Strategic design with

    - Bounded Context and Ubiquitious language
    - Subdomains
    - ContextMap 
    - Aggregates 

6. Integrating via Messaging

7. Integrating via HTTP with RPC and REST

8. Tactical Patterns: Creating Effective Domain Models

    - Domain Modeling Building Blocks
            - aggregates
            - Entities
            - Value Objects
            - domain services
            - domain events 
            - factories
            - repositories 
            - Event sourcing 

9. Design Patterns for Effective Applications

    - Architecting Application User Interfaces
    - CQRS: An Architecture of a Bounded Context
    - Commands: Application Service Patterns for Processing Business Use Cases
    - Queries: Domain Reporting

About

Learning Domain Driven Design - DDD


Languages

Language:Java 96.2%Language:JavaScript 3.6%Language:CSS 0.1%Language:HTML 0.1%