Course Outline

Introduction

  • What is Domain Driven Design (DDD) and its benefits?
  • DDD vs other approaches
  • Overview of DDD concepts and project structure

Tactical Domain-Driven Design

  • Elements of a domain model
  • Implementing entities, value objects, aggregates, repositories, and domain services
  • Using factories, specifications, CQRS, and event sourcing

Strategic Domain-Driven Design

  • Context map patterns
  • Designing the domain model with event storming and domain storytelling
  • Identifying and classifying subdomains
  • Establishing boundaries and relationships with patterns like bounded contexts

DDD & Legacy Workshop

  • Challenges and opportunities of legacy systems
  • Analyzing and understanding legacy systems with tools like NDepend
  • Refactoring and modernizing legacy systems using techniques such as strangler pattern

Product, Domain & Team-oriented Architecture

  • Benefits and challenges of product, domain, and team-oriented architecture
  • Designing and implementing such architectures with patterns like microservices
  • Organizing and collaborating with teams
  • Ensuring quality and consistency with automated testing and continuous integration

Data Mesh – Domain-Oriented Data

  • Problems with traditional data platforms
  • Introduction to data mesh
  • Implementing a domain-oriented data platform supporting data discovery, access, and governance
  • Technologies like Apache Kafka, Apache Spark, and GraphQL in data mesh

Summary and Next Steps

Requirements

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

Audience

  • Developers
  • Architects
  • Analysts
 21 Hours

Testimonials (1)

Provisional Upcoming Courses (Contact Us For More Information)

Related Categories


Fatal error: Uncaught TypeError: _isl_get_excluded_site(): Return value must be of type ?array, none returned in /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc:38 Stack trace: #0 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc(30): _isl_get_excluded_site() #1 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc(17): isl_get_excluded_site() #2 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/islc7.module(51): get_outline_isls() #3 /apps/hitra7/backdrop/modules/_custom/frontend/islc7/islc7.module(7): islc_prepare_links() #4 /apps/hitra7/npfrontend/nptemplates/default.php(272): islc7_sites_links_array_v3() #5 /apps/hitra7/npfrontend/modules/course/course.php(143): require_once('...') #6 /apps/hitra7/npfrontend/core/routes.php(15): course_menu_callback() #7 /apps/hitra7/npfrontend/__index.php(78): require_once('...') #8 /apps/hitra7/npfrontend/index.php(15): include_once('...') #9 /apps/hitra7/index.php(66): include_once('...') #10 {main} thrown in /apps/hitra7/backdrop/modules/_custom/frontend/islc7/isl_common.inc on line 38