1.1. About Agenda
Training course: 9:00 - 17:00
Lunch break: 13:15 - 14:00
10 min break every one/one-and-half hour
1.1.1. Day 1
10 min - Intro: welcome message, course introduction, agenda, spreadsheet
60 min - Setup: IDE, Git, repository, Python, doctest
30 min - Introduction: about design patterns, classification, Gang of Four (GoF)
50 min - UML: introduction, Class Diagram, Sequence Diagram
180 min - OOP: access modifiers, class var, property, staticmethod, classmethod, new
90 min - Inheritance: simple, multilevel, multiple, mixin, composition, aggregation
1.1.2. Day 2
30 min - Practices: S.O.L.I.D., ask don't tell principle
150 min - Encapsulation: property, reflection, descriptor
150 min - Polymorphism: interface, abstract base class, protocol, builtin protocols
90 min - Protocol: iterator, context manager
1.1.3. Day 3
140 min - Creational: Singleton, Borg, Factory method, Abstract factory, Builder, Prototype
140 min - Behavioral: Memento, State, Iterator, Strategy, Template method, Command, Observer, Mediator, Chain of responsibility, Visitor, Gateway, Interpreter, State machine
140 min - Structural: Composite, Adapter, Decorator, Façade, Flyweight, Bridge, Proxy