Back to training

Design Patterns Workshop

Join this training with Adrian Bolboaca if change requests are a nightmare for your product.  Find out some essential software design principles that will make your code base easy and cheap to change.


This 1-day practical workshop teaches programmers how to use reusable solutions to common problems when designing software.

As a software developer, through hands-on exercises, activities and theoretical discussions, you will understand: why, how and when to use design patterns when writing code or when refactoring.

The participants are introduced to the key design principles behind the patterns and discusses the testability of various patterns.

Who should attend

  • Software developers who want to learn more about software design
  • Architects who need a top level view on design
  • Technical managers for whom standard good design practices are important

Why attend

  • You want to learn how to create changeable software
  • Changing code takes you a lot of time; find out how to refactor it to be better
  • Minimize the development risks by using good design principles

Expected outcome

After this workshop you will be able to:

  • Spot places where your code is hard to change and use some patterns to make it more flexible
  • Know how to incrementally refactor the code needed to be easier to change
  • Write code with smaller cost of change


  • Design patterns basics
  • Design principles
  • Creational patterns. Eg. Singleton, Factory, Builder, Prototype
  • Structural patterns. Eg. Adapter, Bridge, Facade, Proxy
  • Behavioral patterns. Eg. Command, Iterator, Mediator, Null Object, Observer, State, Strategy, Template method, Visitor
  • Other topics based on your requests


  • Plenty of hands-on work and exercises
  • Short presentations
  • Continuous guidance from the trainer
  • Q&A
  • Anti-patterns


You must be proficient in one of Java, C#, C++, php or JavaScript.

You need a laptop with a fully working development environment to use during the class.

Practical details

  • Included: welcome coffee, lunch and coffee breaks
  • Training language: Romanian, English, French
  • Participants will receive a certificate of attendance

Need a customized workshop? Contact us and we’ll adapt the content as required.