GEDOPLAN

Domain-Driven Design (DDD) in Practice

Basics and Practical Use of Domain-Driven Design

  • Comprehensive introduction to the topic of Domain-Driven Design.
  • Examination of all topics using some practical case studies.
  • Exercises tailored to the group of participants to apply the content.
  • Incl. Q&A session after the training, see agenda.

Beschreibung

Domain-Driven Design (according to E. Evans) is nowadays considered in two ways: As a basic development methodology for enterprise applications with complex business logic on the one hand and as a guideline for the logical design of microservices on the other.

In this training, participants will learn the basic terms and procedures of DDD. We will show you how the collaboration of business and software experts creates a long-term, sustainable model for an application system. But that's not all: We have implemented a concrete application system in the form of a reference implementation in Java / Jakarta EE, so that the participants gain an insight into the practical implementation of the DDD concepts. However, all training content is conceptually transferable to other programming languages like e.g. C# and frameworks such as for example Spring (Boot).

After this training, we offer all participants an individual Q&A session for questions about the topic. All interested colleagues are also invited. Duration: approx. 1 hour, online.

Agenda

Domain-Driven Design at a glance

  • Domain and Domain Model
  • Common business language (Ubiquitous Language)
  • Decomposition into Bounded Contexts
  • Realization through Building Blocks

Modeling the Domain

  • Determine the business matters (Domain Storytelling, Event Storming, OOA)
  • Detect and develop the Ubiquitous Language
  • Record the business logic (DSL of Context Mapper and Sculptor, UML, OOD)

Definition of Bounded Contexts

  • Vertical, business-driven slicing of the application
  • Subdomain (core vs. support vs. generic)
  • Bounded Context as a Self-Contained System (SCS)
  • Impact on the development process and the project organization

Strategic Design

  • Context Mapping
  • Shared Kernel, Partnership
  • Customer/Supplier
  • Conformist, Anticorruption Layer, Published Language, Open Host Service
  • Separate Ways
  • Context Map and absence of cyclic dependencies

Tactical Design

  • Building Blocks as design patterns for classes
  • Data: Attribute, Identifier, Entity, Value, Aggregate
  • Functionality: Factory, Repository, Service, Application
  • Communication: Gateway, Event Messaging, Data Transfer
  • Rich vs. Anemic Domain Model
  • Implementation using Jakarta EE

Software Architecture

  • Modular monolith, distributed system or microservices
  • Software technical effects (data storage, test data, method calls)
  • Clean Architecture to separate business knowledge and technologies
  • Standardized classes and their quality assurance

Case study: Flight Information System (FIS)

All topics covered are considered against the background of a reference implementation for the intended application system "Flight Information System (FIS)" for an airline company. This means that all terms, concepts and procedures can be discussed in concrete terms using this practical case study. The participants deepen the training content in this case study through small exercises that, depending on the group of participants and their interests, can be completed on a flipchart, with a DDD/UML tool or as a demonstration in Java code. This covers various methods (e.g. Domain Storytelling), languages (e.g. Sculptor-DSL) and tools (e.g. Context Mapper) for the practical implementation of DDD.

Q&A session after the training
After this training, we offer all participants an individual Q&A session for questions about the topic. All interested colleagues are also invited. Duration: approx. 1 hour, online.

Teilnehmerkreis und Voraussetzungen

With this training offer, we are targeting companies or projects that are looking for an initial, comprehensive introduction to the topic of Domain-Driven Design. In this respect, we appeal equally to department/project managers, software architects, Java developers, business analysts and even QA/test employees. Knowledge of object orientation in general is desirable and experience in UML modeling or Java development is helpful, but not a requirement.
 

Schulungstermine

Diese Schulung bieten wir auch als maßgeschneiderte Firmenschulung an

GEDOPLAN erstellt für Sie auf Ihre Unternehmensziele zugeschnittene Firmenschulung.
Durch unser modulares Schulungssystem sind wir in der Lage, anhand Ihrer Angaben eine individuelle Schulung zu gestalten. Denn die optimale Weiterbildung Ihrer Mitarbeiter nach Ihren Vorgaben und Anforderungen stehen bei uns im Mittelpunkt.
Bei Interesse nehmen Sie bitte Kontakt, wir führen dann gerne mit Ihnen ein unverbindliches Gespräch

GEDOPLAN - Telefonkontakt

030 / 20 89 82 63 0

GEDOPLAN - E-Mail Kontakt

Tim.Neumann@GEDOPLAN.de

Weitere Schulungen

Vorträge & News zum Thema

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung

News aus Schulung, Beratung & Softwareentwicklung

Das sagen Kursteilnehmer

Das sagen Kursteilnehmer

Das sagen Kursteilnehmer

Unsere Trainer

Unsere Trainer

Unsere Trainer

Kontakt

Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!

Tim Neumann

Geschäftsleitung

GEDOPLAN GmbH
Stieghorster Straße 60
33605 Bielefeld

GEDOPLAN GmbH
Kantstraße 164
10623 Berlin

    Kontakt

    Tim Neumann

    Geschäftsleitung

    GEDOPLAN GmbH
    Stieghorster Straße 60
    33605 Bielefeld

    GEDOPLAN GmbH
    Kantstraße 164
    10623 Berlin

    Brauchen Sie eine individuelle IT-Schulung, eine fundierte Beratung oder eine individuelle Softwareentwicklung? Dann sind Sie hier genau richtig!