Design Patterns Workshop

Make your code base easy and affordable to change by using design patterns in the right way

This hands-on, 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 practical 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.

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
  • Learn a common language to better communicate software design
  • Find the right abstractions for your software

After this workshop, you will also 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

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

Practical Details

  • Language: English
  • Experiential, hands-on, interactive online learning with practical examples
  • Participants will be awarded a Mozaic Works certificate of completion

This Learning Program is Available on Demand


    • Design patterns overview
    • 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
    • Concurrency Patterns. Eg. Active Object, Lock, Monitor object, Read-write lock, Thread pool
    • Refactoring to patterns
    • Briefly about Anti-Patterns
    • Refactor team’s production code to patterns
    • Creating your own patterns
    • Other topics based on your requests

    More details and full agenda here


    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.

    Meet Your Trainers

    Adrian Bolboaca

    VP of Innovation, Senior Trainer at Mozaic Works

    With more than 16 years of international experience in the world of software and transformations, Adrian shares about himself: I want to help my clients improve their business. I was helped by my professors, colleagues and mentors to continuously improve. Whenever I write code I focus on reducing domain complexity to obtain robust, maintainable software. The continuous improvement paradigm is important for the people I work with and for myself; this is why I like helping people, teams and businesses to become more adaptable and reach their goals. About Adi International hands-on experience in product & software development for more than 16 years in small and large companies, with customers from Germany, Switzerland, Finland, Sweden, Netherlands, Romania, Italy, France Experienced…

    More about Adrian Bolboaca >

    Alex Bolboaca

    CTO, Senior Trainer at Mozaic Works

    With over 20 years of international experience in the world of software and technology, Alexandru shares about himself: Being deeply passionate about technology creation I am a continuous learner in the field. Between reading, trying out technologies and multiple programming languages, presenting and participating to developer communities and conferences, I have learned enough to write two books and teach hundreds of developers. I love working with smart people who want to get better at what they do, whether it’s team work, communication, management or technical skills. I offer you my passion, my experience and my capacity to adapt to your needs. About Alex Over 20-years experience in software development, technology and transformations fields Polyglot programmer who uses modern development practices in C/C++,…

    More about Alex Bolboaca >
      Your Cart
      Your cart is empty
        Apply Coupon
        Scroll to Top