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 hours
Online
English
ARC-003
Domain Driven Design
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
ARC-003
Schedule and prices
€ 600 *
Training for 7-8 or more people? Customize trainings for your specific needs
Domain Driven Design
Sign Up
Duration
24 hours
Location
Online
Language
English
Code
ARC-003
Schedule and prices
€ 600 *
Training for 7-8 or more people? Customize trainings for your specific needs

Description

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.
After completing the course, a certificate
is issued on the Luxoft Training form

Objectives

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.

Target Audience

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

Prerequisites

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

Roadmap

  • DDD Overview. Includes Ubiquitous Language. DDD Prerequisites

    • OOP, OOD principles
    • Architectural Business Logic Patterns
  • DDD Strategic Design

    • Domains, Subdomains
    • Bounded Contexts
    • Context Maps
  • Practice Session – Applying Strategic Design DDD Architectural View

    • Layered Architecture
    • Hexagonal (ports and adapters) Architecture
    • SOA
    • Event Driven Architecture
    • CQRS
    • Event Sourcing
  • Practice Session – DDD Architectural View DDD Tactical Tools

    • Entities
    • Value Objects
    • Aggregates
    • Factories
  • DDD Tactical Tools

    • Services
    • Domain Events
    • Modules
    • Repositories
  • Practice Session – Applying DDD Tactical Tools

  • Show Entire Program
Schedule and prices
View:
Register for the next course
Registering in advance ensures you have priority. We will notify you when we schedule the next course on this topic
+
Courses you may be interested in
Software Architecture Methodology
The course introduces the main concepts and context of software architecture. You will learn about practices such as essential requirements identification, design, documentation and analysis – a general all-around methodology not bound to a specific technological base or area of expertise.
Risk Management
This course is designed to give project managers the necessary knowledge and skills to manage risks by offering them a precise understanding of the subject and best practices in software development projects.
View Catalog
Your benefits
Expertise
Our trainers are industry experts, involved in software development project
Live training
Facilitated online so that you can interact with the trainer and other participants
Practice
A focus on helping you practice your new skills
Still have questions?
Connect with us
Thank you!
The form has been submitted successfully.