Design Patterns and Principles

2 days Online / Zoom English Certificate 15 people max Victor Rentea €7500 9375

This live online course will give you a solid grasp of today’s most important software design patterns, the principles behind them, and the tradeoffs they bring. You’ll learn to identify patterns suited to real-world problems, evaluate design alternatives, and make informed architectural decisions.

Introduction

Mastering design patterns helps you understand existing code, evaluate design alternatives, and communicate ideas more effectively with teammates and architects. This code-driven workshop emphasizes timeless design principles over textbook definitions, covering patterns from basic (like Singleton and Strategy) to strategic (like Visitor and Saga). Through hands-on exploration of real-world tradeoffs and alternatives, you’ll build a practical toolkit for writing cleaner, simpler code. You'll also dive into patterns behind modern frameworks and inter-system collaboration, culminating in a pragmatic, code-first take on Clean Architecture.

This online training is for developers who can read Java (or languages like PHP, C#, TypeScript, Scala, or Kotlin) and want to strengthen their design skills. It’s ideal if you're aiming for an architect role, planning to design a new system, or looking to critically review and improve an existing one.

IMPORTANT This course is primarily tailored for backend developers working with Java, Kotlin, Scala (often with Spring), C#, or PHP.

Agenda

Forking behavior

Intercepting Calls

Creating Objects

Propagating Change

Wrap-up

Victor Rentea
Victor Rentea

Victor is a Java Champion, Java Enterprise Architect, and Independent Trainer, delivering intense masterclasses for companies worldwide since 2014. He is passionate about software architecture, clean code, refactoring, and unit testing. He is a regular speaker at top international conferences. He's also the founder of the Bucharest Software Craftsmanship Community with 4000 members.

🎉 Request training for your team →