- Montreal 2019
Established in the 70's by the "Gang of Four", Design Patterns are generic reusable abstract solutions to solve often recurring problems in software design. Object oriented applications and frameworks leverage them to design robust, extensible and testable code, letting developers build their applications on top of solid foundations. In this workshop, you'll first learn the most fundamental concepts and techniques of object oriented software design such as dependency injection, the SOLID principles, composition versus inheritance, etc. Then, you'll (re)discover tens of the original "GoF" design patterns, why and how to implement them. We'll also have a look at how some famous Open-Source libraries and frameworks like Symfony to understand how they implement them and the benefits they bring to their architecture. The workshop will cover many design patterns with practical examples: Factory Method, Prototype, Builder, Composite, Adapter, Decorator, Flyweight, Template Method, Strategy, State, Mediator, Observer, Visitor, Memento, etc.
This workshop will be practical tutorial on implementing design patterns with PHP 7. The course has about 60% of time of theory and 40% of practicing. Some design patterns will be practiced while some others will just be presented and illustrated. Attendees must bring their personal laptops equiped with the following functional software configuration: PHP 7.2 (+ Intl, XDebug, PDO extensions enabled), MySQL or PostgreSQL, PHPStorm IDE.