Deze cursus is bedoeld voor software engineers en software architecten 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 Bende van Vier om te voldoen aan niet-functionele eisen en om een softwarearchitectuur te verkrijgen die bestand is tegen software-evolutie op een emergente manier. Het basisidee dat de cursus doordringt, 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 Design Patterns training worden aangepast aan uw situatie en speciale behoeften.

Doelstelling

Na succesvolle afronding van de cursus zullen deelnemers:

  • inzicht hebben in de architecturale relevantie van patronen;
  • 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 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: 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 casestudies.

Startdatum Expected Q4 2026 Volgende editie info
Duur 2 keer 2 dagen
Frequentie Twee keer per jaar
Score
8.5
Prijs per deelnemer € 2,600 excl. btw *
Brochure downloaden

Programma

Dag 1:

  • Patronen in het Scrum-ontwikkelingsproces;
  • Omgaan met technische schuld, Emergent Architecting;
  • Ondersteuning van Continuous Integration, continuous deployment en release trains;
  • De architecturale relevantie van design patterns;
  • 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 race conditions, 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.

Methoden

Hoorcolleges, praktische pen- en papieroefeningen 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" Gamma, et.al.

Taal: Engels

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