Visa utbildning.se som: Mobil

EDUT201 Applied Domain-Driven Design in .NET

Informator
Kort om utbildningen
3 dagar
25 900 SEK Momsfri
   
Distans, Stockholm

Kursbeskrivning


What is Domain Driven Design (DDD) really about? How might Command Query Responsibility Segregation (CQRS) help us to build better software? Far from being esoteric concepts, they can be harnessed by everyday developers to create long-lasting, flexible solutions.
DDD and CQRS are gaining in popularity because they attack genuine challenges in software development. This course balances explaining important underlying theory with both design- and code-focused exercises, giving participants both understanding and new practical development skills.
Rather than teaching a framework, the course teaches a factoring and some ways to implement it, highlighting the key pitfalls to avoid along the way. During the course, a small application will gradually be built up from scratch. The course also includes coverage of testing, how to apply the insights from the course to existing systems and how to scale out a system developed using CQRS

The Challenge of "Database Driven" Software Development

Types of complexity
Scaling and consistency
Testing
Integration

Introduction to Domain Driven Design

Domains and Domain Models
Ubiquitous Language
Exercise on building a domain model

Bounded Contexts

Why boundaries matter
Context Maps
Decomposition in the domain
Composition in the UI
Exercises on boundary hunting

Commands, Queries and Events

Normalization and denormalization
Write models and read models
Events as the write-side/read-side link
Eventual consistency and its consequences
Designing commands
Designing queries
Exercise on command and query design

Message Busses

Messages as decoupling
Publish/Subscribe
Send vs. Publish
Building a simple message bus
Exercise on message bus implementation

Write Side Architecture

Command handlers
State sourcing vs. event sourcing
Introduction to aggregates
Building up aggregates from past events
Transactional safety
Exercise on command handlers and aggregates

BDD Style Testing

Introduction to BDD
Commands, Events and BDD
Building a simple test framework
Exercise on BDD

Event Stores

Existing options
Building an event store on top of an RDBMS
Implementing a repository using an event store
Advantages of freeing aggregate representation from persistence
Optimizations using snapshots
Exercise on building an event store

Advanced Aggregate Design

Finding aggregate boundaries
Coping with relationships
Exercise on aggregate design

Building Read Sides

Overall approach
Relational DB read sides
NoSQL read sides
Other options
Re-building and introducing new read sides
Exercise on building read sides

Process managers

What is a process manager? What is a saga?
Different types of process manager
Handling process manager state
Building a simple process manager framework
Exercise on process managers

Evolving a System

Refining domain models
Handling changes to commands
Event versioning
Handling event upgrade
Exercise on event upgrading

CQRS, DDD and Existing Codebases

Introducing bounded contexts to existing systems
Separating commands and queries
Migrating towards event sourcing

Scaling out

Using the read/write separation to scale
Scaling write sides by bounded context and by aggregate
Scaling within an aggregate
Message distribution and reliability
Message queues and ESBs

Other Opportunities

Parallel development and outsourcing
Recreating previous states for debugging

Hur påverkar COVID-19 denna utbildning?

Vi på utbildning.se är övertygade om att kunskap driver människor och organisationer framåt. Det gör även de arrangörer vi samarbetar med.
Många utbildningar ställs exempelvis om från klassrums- till distansutbildning.

För att ta reda på om en utbildning påverkas med anledning av COVID-19, kontakta gärna arrangören.

Intresseanmälan

Fyll i formuläret för att få mer information om EDUT201 Applied Domain-Driven Design in .NET, direkt från arrangören. Det är gratis och inte bindande!

Informator

Informator

Utbildningsutbud

Informator är utbildningsföretaget som stärker din konkurrenskraft genom att underhålla, uppdatera och tillföra relevant kunskap inom IT och management där och när du behöver det. Vi har vuxit tillsammans med svensk mjukvaruindustris ledande företag och utbildat utvecklare, tekniker, projektledare och chefer sedan...


Läs mer om Informator och visa alla utbildningar.

Kontaktuppgifter

Informator

Karlavägen 108
115 26 Stockholm

 Visa telefonnummer

Intresseanmälan

För att få mer information om utbildningen EDUT201 Applied Domain-Driven Design in .NET från Informator, fyll i dina uppgifter:

Recensioner
Kursrecensioner
Bli den första att recensera EDUT201 Applied Domain-Driven Design in .NET!

Arrangörsrecensioner
(4,5)
Baseras på 712 recensioner.
Alla recensioner för arrangören

Liknande utbildningar