Introduction to Domain-Driven Design

Domändriven design (DDD) ger dig verktyg och principer för att bygga komplexa applikationer, med fokus på att skapa affärsvärde.

Under den här kursen får du en grund i begreppen som används inom DDD och får öva i att analysera exempelcase för att strukturera en applikationsarkitektur baserad på principerna i DDD. Du lär dig också hur aktuella teknologier för Java och .NET kan användas för att förverkliga en arkitektur som skapats med hjälp av DDD. 

Detaljerat innehåll

Kursmaterialet är på engelska, med detta innehåll: 

Dag 1 består av föreläsning med mindre övningar och diskussioner. 

Dag 2 består av ett designprojekt där DDD tillämpas praktiskt. 

Dag 1: 

Domain Driven Design Concepts 

How does Domain Driven Design relate to real-world complex problem spaces? How do you define a domain and model information to be used within the domain. Key concepts: Defining a domain, Tactical Design, Strategic Design, Ubiquitous Language. 

Strategic Domain Driven Design 

Tackling higher level architectural challenges within an organization where multiple domains co-exist. Handling and defining interaction between domains and applications. Key concepts: Models and contexts, Context mapping, Bounded context, Shared Kernel, Anti corruption layer. 

Domain Driven Design Building Blocks 

Modelling and defining the details for a domain. Key concepts: Entity Objects, Value objects, Aggregates, Events, Services, Repository. 

Application Architecture Under Domain Driven Design 

Understand how DDD relates to concrete implementations and the relationship between DDD architectural constructs and real-world technologies. Key concepts: DDD Layers (Presentation, Application, Domain, Infrastructure), Avoiding entanglement, Dependency Injection, AOP, Java Persistence API & Entity Framework.  

Microservices 

Modern principles for application design using Microservices with DDD. Various alternative architectural models and the driving force behind Microservices popularity. Key concepts: Microservice architecture, SOA, ESB, Monolithic design. 

Hexagonal Architecture and Microservices 

A different view of application architecture applicable to microservices. Patterns for implementing Microservices using DDD. Key concepts: Hexagonal architecture, Ports & Adapters, Domain Events (Source & Stream), REST, UI communication strategies, integration between Bounded Contexts.  

Dag 2: 

Over the course of the day students will work to create an application based on DDD principles. The project is broken into six parts: 

  1. Defining the problem 

  1. Defining the Ubiquitous Language 

  1. Strategic Design & Bounded Contexts 

  1. Tactical Design & Building the Domain Layer 

  1. Building out the application 

  1. Refactor to more clearly align with DDD based design. 

 

Målgrupp och förkunskaper

Kursen vänder sig till systemutvecklare och arkitekter som vill börja tillämpa Domändriven design. För att delta bör du ha grundläggande kunskaper i applikations- och systemarkitektur samt några års erfarenhet som utvecklare med Java eller C#. 

För att alltid hålla en hög kvalitet på våra teknikkurser använder vi både engelsk- och svensktalande experter som kursledare. 

Om kursen

Pris: 20 450,00 kr

exklusive moms

Längd 2 dagar
Kurskod A406

KompetenskortKompetenskort gäller på denna kurs

Kursen hålls på begäran

Kontakta oss för mer information.

Telefon: 08-440 11 00
E-post: info@addskills.com