Opleiding: Software Design - van principes tot praktijk (Virtueel)
Lesmethode :
Virtueel
Algemeen :
Bij het ontwerpen van software maak je voortdurend keuzes die bepalen hoe flexibel, uitbreidbaar en onderhoudbaar een systeem wordt. In deze cursus leer je stap voor stap hoe je bewuste ontwerpbeslissingen neemt die de kwaliteit en toekomstbestendigheid van je software vergroten. Je ontdekt hoe je met beproefde designprincipes en patterns robuuste softwareontwerpen maakt die beter bestand zijn tegen verandering en groei.
Tijdens deze tweedaagse cursus leer je de fundamenten van goed softwareontwerp. Je past de GRASP- en SOLID-principes toe om structuur en verantwoordelijkheid in je code te brengen. Daarnaast onderzoek je hoe je een systeem kunt opdelen in lagen met duidelijke rollen, van controllers en service-klassen tot repositories en domain-objecten. Je krijgt inzicht in Domain Driven Design met topics als anemic versus rich domain models, orchestration en choreography. Verder leer je hoe je componentgebaseerde ontwerpen maakt met API's, Data Transfer Objects en immutable klassen, en hoe je event-driven design inzet via asynchrone communicatie en publish-subscribe-mechanismen. Tot slot pas je veelgebruikte design patterns toe, zoals Observer, Strategy, State en Handler, om flexibiliteit en onderhoudbaarheid te versterken.
In de cursus werk je aan realistische praktijkopdrachten waarin je zelf een modulair ontwerp opzet en bestaande ontwerpen verbetert. Door hands-on te oefenen met patterns en principes leer je hoe je in jouw eigen projecten bewuste ontwerpkeuzes maakt die direct effect hebben op de kwaliteit van de software. Zo vertaal je theorie naar toepasbare ontwerpvaardigheden die je dagelijks kunt inzetten.
Doel :
Na afloop kun je solide softwareontwerpen maken op basis van erkende designprincipes en -patterns. Je past de opgedane kennis direct toe in je eigen projecten om beter gestructureerde, toekomstbestendige software te ontwerpen.
Doelgroep :
Deze cursus is voor softwareontwikkelaars die hun ontwerpvaardigheden willen verdiepen om flexibele, goed onderhoudbare en schaalbare softwaresystemen te bouwen.
Voorkennis :
De volgende voorkennis is vereist: Inleiding Object-Oriëntatie
Het cursusmateriaal is in het Engels, een goede beheersing van de Engelse taal is vereist.
Onderwerpen :
- Design principes
+nbsp;+nbsp;+nbsp;- GRASP principes
+nbsp;+nbsp;+nbsp;- SOLID principes
+nbsp;+nbsp;+nbsp;- Inheritance en composition
- Layering
+nbsp;+nbsp;+nbsp;- Service klassen
+nbsp;+nbsp;+nbsp;- Controller
+nbsp;+nbsp;+nbsp;- Repository
+nbsp;+nbsp;+nbsp;- Domain patterns
+nbsp;+nbsp;+nbsp;- Factories
- Domain Driven Design
+nbsp;+nbsp;+nbsp;- Domain Klassen
+nbsp;+nbsp;+nbsp;- Anemic en rich domain model
+nbsp;+nbsp;+nbsp;- Orchestration en choreography
- Component based design
+nbsp;+nbsp;+nbsp;- API design
+nbsp;+nbsp;+nbsp;- Data Transfer Objects
+nbsp;+nbsp;+nbsp;- Immutable klassen
- Event-driven design
+nbsp;+nbsp;+nbsp;- Asynchrone communicatie
+nbsp;+nbsp;+nbsp;- Fire and forget
+nbsp;+nbsp;+nbsp;- Point-to-point
+nbsp;+nbsp;+nbsp;- Publish_Subscribe
- Flexibiliteit inbouwen met design patterns
+nbsp;+nbsp;+nbsp;- Observers
+nbsp;+nbsp;+nbsp;- Strategies
+nbsp;+nbsp;+nbsp;- States
+nbsp;+nbsp;+nbsp;- Handlers