Design Patterns and Principles
You gotta know Design Patterns. Period.
However, some veterans hate them: “They are just useless fluff! Get your job done with simple, pragmatic code instead!” – they say. But they say that because they’ve seen them in use, perhaps excessively, and they’ve come to value more the underlying design principles. So let’s talk about Principles of Good Design, on code exercises practicing some… design patterns.
So come prepared for a day of Best Practices that might shake your world! A day like you never had before.
The training covers most of the Design Patterns still in use today, with their nuances and variations. The discussion revolves around WHY to use them, their COST, and how they can clean your code, with a lot of code examples distilled from real-life problems. In other words, it’s not a dull lecture of some dusty ol’ patterns, but a discussion about how to apply principles of Good Design in code, sometimes via patterns. Get ready for funny examples, metaphors, jokes, writing code together (1/2 the time), and a test with prizes, that will make you remember the concepts for many years.
Hundreds of developers have followed this training until now. For the last 4 years, split in 2 sessions, this training is also part of the “OOP” (aka “Java”) 2nd year Faculty Course in the CS Department of Politehnica Bucharest. In short, this is the ‘most wanted’ (and most refined) topic from Victor’s training curricula.
The speaker, Victor Rentea, is one of the top technical coach/trainers in Romania, and also currently Lead Architect at IBM. He has 14 years of professional experience and 5 as a freelance trainer. His training experience is impressive: he trained almost 1K developers over 150 days of in-house sessions held at 18 companies. Victor entitles himself a “Clean Code Maniac”: he loves to write expressive, elegant, clean code, and we’re pretty sure he will mention several principles to you anytime he can.
Oh, and you’ll have loads of fun with him: his style is very entertaining and dynamic. After giving 30 talks at top international conferences, Victor has become one of the most proeminent Romanian speakers. He is now regularly invited to speak in Moscow, Paris, London, Belgium, Poland, Barcelona, and many others.
On victorrentea.ro you can find out more about him, see his best talks, slides, articles, and other goodies.
What will you learn?
- Design Principles:
- Coupling and Cohesion
- DRY and SRP
- 3 Principles of OO Design
- The SOLID principles
- KISS: Patterns vs Simplicity
- Stateful vs Stateless
- Creational Patterns:
- Fluent Builder
- Abstract Factory
- Factory Method
- Structural Patterns:
- Proxy and Decorator. AOP
- Behavioral Patterns:
- Observer and Command
- Iterator and Stream (brief)
- Template Method
- Passing-a-block (from Functional Programming)
- Final test + prises
This hands-on workshop is for developers who want to understand/refresh all the major Design Patterns that are still in active use today.
For best experience, attendees should have at least some practical experience in Java or other OOP language, ideally also some contact with Spring (not required). The hands-on exercises will set a foundation that everyone understands. On top of that however, we will discuss some of the most important real-life use-cases of these patterns, through a brainstorm that proved highly useful even to participants with 10+ years of experience.
A personal laptop with Eclipse/IDEA, Git and Maven installed.
Independent Technical Trainer + Architect @ IBM