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.
Code: ARC-003
Duration: 24 hours

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.

DDD 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.

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

Objectives

  • Develop an understanding of how DDD helps in developing complex software systems
  • Learn how to apply Strategic patterns for decomposition
  • Learn how to apply Tactical patterns within a Bounded Context
  • Find out how to design Aggregates effectively
  • Understand how Domain Events 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.


Trainer in Online
Alexander Breyman Expert in Software Development and Architecture, Oracle
Alexander is a Doctor of Science and associate professor. Since 1991 he has been involved in the development of information and communication systems - during this time he rose from a programming position to head of the department of information systems. Alexander also has extensive experience in teaching, since 1994 he has been teaching on subjects related to data management, information systems design and software development.

He is currently an assistant professor of software development for the software engineering department at the Faculty of Business Informatics in one of the key universities in Russia. Alexander is involved in the development of training programs but he also gives lectures, conducts seminars and facilitating practical and laboratory works.

Since 2014 Alexander has been a regular expert for Luxoft Training especially in the area of Design and Architecture of Oracle Software and DBMS, where he is engaged in carrying out training courses, developing training programs and putting together a strategy for this area.

Alexander is a member of the IEEE, and ACM.
Schedule in Online Prices
Course is scheduled in: Online
17.11.2021 - 24.11.2021
Time: 09:00-13:00
Timezone: UTC +1
City: Online
Duration: 24 hours
Language: English
Trainer
Alexander Breyman
Expert in Software Development and Architecture, Oracle
-10% €500
€450
Register for the next course
+
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
17.11.2021 - 24.11.2021
Time: 09:00-13:00
Timezone: UTC +1
City: Online
Duration: 24 hours
Language: English
Trainer
Alexander Breyman
Expert in Software Development and Architecture, Oracle
-10% €500
€450
Register for the next course
+
Registering in advance ensures you have priority. Well notify you when we schedule the next course on this topic
Online €500
Bucharest €500
Krakow €500
Wroclaw €500

Invoices for the course will be issued in local currency. All fees above can change according to training location and delivery mode and are subject to change while scheduling. Price does not include VAT.

Courses you may be interested in:

Sign up

Choose dates
First Name*
Last Name*
Company
Email*
Phone
Your Comment
Still have questions?
Connect with us
Thank you.
Your request has been received.
Thank you!
The form has been submitted successfully.