Deze training is een een vervolg aan hoe DDD nu daadwerkelijk geprogrammeerd moet worden in de software. Toen de ontwikkeling van Djuma is begonnen is er van de N-tier-architectuur uitgegaan, waarin model en database centraal stonden in de afhankelijkheden in de software. In 2019 is al een begin gemaakt met het gebruik van de Clean Architecture voor nieuwe onderdelen en de centraal hierin de Domain-laag. Deze nieuwe manier van code-opzet en het gebruik van DDD-patronen in de domein laag waar alle domeinlogica moet zitten, is nog niet geheel ingebakken in de kennis van de Backend-Developers en vereist training voor personen met deze rol.
- Introductie in het onderwerp, gemeenschappelijke basiskennis over DDD en uitleg over de voordelen van deze aanpak van software ontwikkeling binnen Circle.
- Het vertalen van de een gemeenschappelijke taal (“Ubiquitous language“) in code.
- Kennis omtrent hoe DDD binnen de Clean Architecture past die we binnen Djuma R&D gebruiken.
- DDD-patronen opdoen die nuttig zijn voor de programmeer uitdagingen binnen Djuma R&D.
- Kennis over hoe deze Domain-laag eenvoudig getest kan worden in de huidige opzet.
- Inventarisatie van knelpunten in onze huidige manier van software ontwikkeling.
- Binnen het Backend-Chapter duidelijkheid over hoe DDD ingezet moet worden.
- Makkelijker uitvoeren van Code Reviews door duidelijk naar welke zaken gekeken moet worden.
- Duidelijke scheiding tussen Domein- en Applicatielogica.
- Vanuit Development meer kennis krijgen een Bounded-Context gedefinieerd kan worden in code om onze Big-Ball-Of-Mud op te splitsen.
- Meer handvaten om een plan te maken om de Zaaksysteem-solution op te splitsen in Domein-solution en hoe dit te bewerkstelligen.
- Recap DDD, Eventstorming, example mapping en bounded context canvas
- object design met responsibility mapping
- Coding lab 1 outside-in TDD en
- lab 2 essential tactical DDD patterns
- Lab 3 - Refactoring to a deeper model
- lab 4 ports and adapters/clean architecture
- Eigen coding voorbeeld modellen (Ga na of je zelf al bepaalde stukjes models/code in wilt brengen)
- .net 6.0, git en je favourite IDE