Domain Driven Design

Domain Driven Design

Learn how DDD helps with building corporate systems with complex business logic, and apply DDD strategic tools to first decompose the subject area, and then the system being developed.

Продолжительность
24 часы
Тип курсу
Онлайн
Мова
Англійська
Продолжительность
24 часы
Місцезнаходження
Онлайн
Мова
Англійська
Код
ARC-003
Тренінг для 7-8 чи більше людей? Налаштуйте тренінги для ваших конкретних потреб
Domain Driven Design
Продолжительность
24 часы
Місцезнаходження
Online
Мова
English
Код
ARC-003
€ 650 *
Тренінг для 7-8 чи більше людей? Налаштуйте тренінги для ваших конкретних потреб

опис

The closer the relationship between software development and business strategy, the easier it will be to maintain and develop a system that meets future business needs, which will eventually lead to more successful software projects. Domain-oriented design (DDD) allows you to reduce the risk of failures in software projects by building more effective communication between the customer and development team. DDD practices are divided into two groups - strategic and tactical.


Strategic DDD tools are used to make high-level architectural design decisions. Such as the decomposition of systems into components and determining how to integrate them, based on building a common understanding of how the system being developed will meet the needs of the business or customer.


Domanin Driven Design tactical patterns allow us to write code in such a way that it reflects the subject area, meets goals, and speaks the language of business. Considerable time is devoted to the discussion of real examples and solving practical problems, which allows you to consolidate your knowledge and use the skills of applying strategic design and tactical modeling.

сертифікат
Після проходження курсу видається сертифікат
на бланку Luxoft Training

Цілі

Having passed this Course, attendees will:

  • Have an understanding how Domain Driven Design helps developing enterprise systems.
  • Know how to apply Strategic thinking when building enterprise systems.
  • Know how to apply Tactical Modeling skills within a Bounded Context.
  • Know how to design Aggregates effectively.
  • Understand the importance of Domain Events and how these can be used to integrate Bounded Contexts.

Цільова аудиторія

Software developers (from Junior to Senior) who have good understanding of OOP, OOD principles and basic knowledge of software architecture patterns.

передумови

  • Object Oriented Programming (OOP) Principles
  • Object Oriented Design (OOD) Principles
  • Software Design Patterns (GoF)
  • Software Architecture Patterns

Дорожня карта

Module 1 – DDD Overview. Includes Ubiquitous Language.

Module 2 – DDD Prerequisites. Includes

1. OOP, OOD principles

2. Architectural Business Logic Patterns

Module 3 – DDD Strategic Design. Covers:

1. Domains, Subdomains

2. Bounded Contexts

3. Context Maps

4. Event Storming

Practice Session #1.1 – Strategic Design. Event Storming.

Practice Session #1.2 – Strategic Design. Mapping Bounded Contexts.

Module 4 – DDD Architectural View. Overview of:

1. DDD and Legacy Systems

2. Integrating Bounded Contexts

3. Layered Architecture

4. Hexagonal (ports and adapters) Architecture

5. REST

6. Event Driven Architecture

7. CQRS

8. Event Sourcing

9. Microservices Architecture

Practice Session #2 – DDD Architectural View

Module 5 – DDD Tactical Design. Part 1. Covers:

1. Entities

2. Value Objects

3. Aggregates

4. Factories

Module 6 – DDD Tactical Design. Part 2. Covers:

1. Services

2. Domain Events

3. Modules

4. Repositories

Practice Session #3 – Applying DDD Tactical Design. Consists of two parts.

Common practice for module 5& 6

Module 7 – Testing. Covers:

1. Test Pyramid

2. Consumer-Driven Contract Testing

Залишилися запитання?
Зв'яжітьсяз нами