De cursus wordt in het Engels verzorgd onder de titel "Design Patterns and Emergent Architecture".

Deze cursus is bedoeld voor software-engineers en softwarearchitecten en sluit aan bij een agile proces dat zij mogelijk in hun organisatie hebben geïmplementeerd.

Het voorgestelde trainingsprogramma richt zich op de toepassing van ontwerppatronen uit de Gang of Four om te voldoen aan niet-functionele eisen en om een softwarearchitectuur te verkrijgen die op een natuurlijke manier bestand raakt tegen software-evolutie. Het basisidee in de hele cursus is dat niet-functionele verbeteringen worden aangebracht door een softwareapplicatie te transformeren en te refactoren met behulp van patronen. Een belangrijk aspect is het vormgeven van componentinterfaces op een manier die integratie vergemakkelijkt door achterwaartse compatibiliteit met bestaande clientcode te garanderen.

Het programma biedt een gezonde mix van theorie en oefeningen. In de oefeningen moeten de deelnemers een patroon selecteren om een bestaand ontwerp te verbeteren op een bepaald niet-functioneel aspect. Typische aspecten zijn schaalbaarheid, hergebruik, uitbreidbaarheid en portabiliteit. De laatste halve dag van de cursus behandelt verschillende architectuurpatronen van Buschmann et al. en laat zien hoe deze architecturen kunnen worden gerealiseerd met behulp van de GoF-ontwerppatronen door stapsgewijze transformaties uit te voeren. Voor meer informatie, klik hier.

Deze training is zowel beschikbaar voor open inschrijving als voor in-company sessies. Voor in-company sessies kan de inhoud worden aangepast aan jouw situatie en speciale behoeften.

Leerdoelen

Na succesvolle afronding van de cursus zullen deelnemers:

  • inzicht hebben in de relevantie van patronen voor de architectuur;
  • inzicht hebben in de manier waarop patronen kunnen worden toegepast om rekening te houden met verschillende soorten niet-functionele vereisten;
  • kennis hebben van de GoF-patronen;
  • enige vaardigheden hebben verworven in het herkennen van situaties waarin patronen kunnen worden toegepast;
  • kennis hebben van beslissingscriteria bij het toepassen van ontwerppatronen;
  • enkele valkuilen begrijpen die het toepassen van patronen met zich mee kan brengen;
  • OO-principes achter patronen begrijpen en metapatronen en objectoriëntatie gebruiken om variabiliteit te lokaliseren;
  • begrijpen hoe je als architect Scrum-principes gebruikt in combinatie met patronen om software te ontwikkelen met behulp van emergent architecting en om productiviteit, kwaliteit, voortdurende verbetering, voortdurende integratie en voortdurende implementatie te ondersteunen;
  • begrijpen hoe je technische schuld in agile projecten kunt voorkomen en verminderen.

Doelgroep

Deze cursus is bedoeld voor softwarearchitecten en softwareontwikkelaars.

De deelnemer moet inzicht hebben in de achtergrond van objectgeoriënteerde technieken, beschikken over praktische kennis van een gangbare objectgeoriënteerde programmeertaal (C++, Java, C#) en kennis hebben van de syntaxis en semantiek van de meest gebruikte UML-modelleerconcepten.

De cursus vereist het vermogen om te abstraheren van details in de broncode met behulp van UML-klassendiagrammen. Regelmatig worden voorbeeldprogramma's getoond. De cursus gaat vergezeld van broncode in Java en uitvoerbare bestanden met betrekking tot de casestudy's.

Startdatum Expected Q4 2026 Info volgende editie
Duur 2 times 2 days
Frequentie Twee keer per jaar
Score
8.5
Prijs per deelnemer € 2,600 excl. btw *
Brochure downloaden

Programma

Dag 1:

  • Patronen in het Scrum-ontwikkelproces
  • Omgaan met technische schuld, emergent architecting
  • Ondersteuning van continuous integration, continuous deployment en release trains
  • De relevantie van design patterns voor de architectuur
  • Patronen en modulariteit
  • Patronen en niet-functionele vereisten
  • De toepassing van patronen in een agile ontwikkelproces (Scrum)
  • Classificatie van patronen
  • Voorbeelden van patronen (van GoF: Gamma et al.): Command, Abstract Factory, Bridge, oefening (onderhoudbaarheid), Prototype, Composite, Observer, oefening (schaalbaarheid, hergebruik, uitbreidbaarheid), Scrum-oefening

Dag 2:

  • Voorbeelden van patronen (van Gamma et al.): oefening (vervolg), begeleide discussie over interfaceontwerp en componentintegratie, Factory Method, Proxy, Strategy, oefening (onderhoudbaarheid), Singleton, Adapter, Listener (en C# delegates), Scrum-oefening (ontkoppelen voor overdraagbaarheid)

Dag 3:

  • Voorbeelden van patronen (van Gamma et al.): Mediator, State, Template Method, oefening (state machines), begeleide discussie over het vermijden van deadlock en racecondities, Decorator, Flyweight, Visitor, oefening (uitbreidbaarheid), Interpreter, Builder, Iterator.

Dag 4:

  • Voorbeelden van patronen (van Gamma et al.): oefening (hergebruik), Facade, Chain of Responsibility, Memento
  • Architectuurpatronen (Buschmann et al.)
  • Architecturen realiseren met behulp van ontwerppatronen: lagen, Scrum-oefening, MVC, begeleide discussie over MVC, Broker, begeleide discussie over Broker
  • Conclusies

Methodiek

Lessen, praktische oefeningen met pen en papier en begeleide discussies. Lesmateriaal: kopieën van presentaties, hand-outs van oefenoplossingen, uitvoerbare voorbeeldcases in Java (voor latere referentie), boek: "Design patterns: elements of reusable object oriented software" van Gamma et.al.

Taal: Engels

Certificering

Deelnemers ontvangen een cursuscertificaat van het High Tech Institute voor het volgen van deze opleiding. Bovendien maakt deze opleiding deel uit van het programma voor beroepsopleiding van de Nederlandse Vereniging voor Precisietechniek (DSPE), die hiervoor microcredentials verstrekt.

Cursusbeoordelingen

"Duidelijk, begrijpelijk, goede balans tussen theorie en oefeningen."

Tim van den Kerkhof - Sioux Embedded Systems

"Duidelijke en goede training. Ontspannen en open sfeer. Veel ruimte voor discussies."

Bart van Knippenberg - Thermo Fisher Scientific

"Belangrijkste dingen die ik heb geleerd: algemeen begrip/bestaan van GoF-patronen. Fungeert als basis om mijn OO-ontwerpvaardigheden te verbeteren."

Erik Nagel - Kipp & Zonen

"Wat mij het meest aanspreekt, is de stapsgewijze transformatie van een basisontwerp naar een goed OO-ontwerp."

Alexandros Loizidis - Thermo Fisher Scientific