Course Outline

Introduction

  • What is Domain-Driven Design (DDD) and its benefits for government?
  • Comparison of DDD with other approaches
  • Overview of DDD concepts and project structure

Tactical Domain-Driven Design

  • Key elements of a domain model
  • Implementation of entities, value objects, aggregates, repositories, and domain services
  • Utilization of factories, specifications, Command Query Responsibility Segregation (CQRS), and event sourcing

Strategic Domain-Driven Design

  • Patterns for context mapping
  • Designing the domain model using techniques such as event storming and domain storytelling
  • Identifying and classifying subdomains within government projects
  • Establishing boundaries and relationships through patterns like bounded contexts

DDD & Legacy Systems Workshop

  • Challenges and opportunities associated with legacy systems for government
  • Analyzing and understanding legacy systems using tools like NDepend
  • Refactoring and modernizing legacy systems through techniques such as the strangler pattern

Product, Domain & Team-Oriented Architecture

  • Advantages and challenges of product, domain, and team-oriented architecture for government projects
  • Designing and implementing these architectures with patterns like microservices
  • Organizing and collaborating effectively within teams
  • Ensuring quality and consistency through automated testing and continuous integration practices

Data Mesh – Domain-Oriented Data Management

  • Problems encountered with traditional data platforms for government
  • Introduction to the concept of data mesh
  • Implementing a domain-oriented data platform that supports data discovery, access, and governance for government
  • Leveraging technologies like Apache Kafka, Apache Spark, and GraphQL in data mesh implementations

Summary and Next Steps

Requirements

  • An understanding of object-oriented programming and design patterns for government
  • Experience with C# and .NET Core
  • Basic knowledge of databases and SQL

Audience

  • Developers
  • Architects
  • Analysts
 21 Hours

Number of participants


Price per participant

Testimonials (1)

Upcoming Courses

Related Categories