Dobre praktyki programowania obiektowego w języku C++
LICZBA DNI: 3 (24h)
KOD KURSU: CPP/OOBP
O szkoleniu
DLA KOGO?
Szkolenie skierowane jest do programistów, projektantów i architektów, którzy pragną poznać, pogłębić lub usystematyzować swoje wiadomości na temat dobrych praktyk, zasad i wzorców programowania obiektowego w C++
WYMAGANIA
Uczestnicy muszą posiadać umiejętność programowania w języku C++
Cele szkolenia
Poznanie zasad SOLID
Poznanie wybranych wzorców GRASP
Poznanie wybranych wzorców Bandy Czworga (Gang of Four)
Przećwiczenie wybranych idiomów programowania w C++
Program
Zasady SOLID
- Zasada jednej odpowiedzialności (The Single Responsibility Principle)
- Wstęp, definicja, odpowiedzialności
- Warsztaty problemowe
- Zasady refaktoryzacji
- Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
- Zasada otwarte/zamknięte (The Open/Closed Principle)
- Wstęp, definicja, odpowiedzialności
- Warsztaty problemowe
- Zasady refaktoryzacji
- Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
- Zasada podstawienia Liskov (The Liskov Substitution Principle)
- Wstęp, definicja, odpowiedzialności
- Warsztaty problemowe
- Zasady refaktoryzacji
- Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
- Zasada segregacji interfejsów (The Interface Segregation Principle)
- Wstęp, definicja, odpowiedzialności
- Warsztaty problemowe
- Zasady refaktoryzacji
- Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
- Zasada odwrócenia zależności (The Dependency Inversion Principle)
- Wstęp, definicja, odpowiedzialności
- Warsztaty problemowe
- Zasady refaktoryzacji
- Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
Wzorce Bandy Czworga (GoF)
- Wzorce konstrukcyjne
- Wzorce: Singleton, Factory Method, Abstract Factory, Prototype, Builder
- Warsztaty problemowe
- Wzorce strukturalne
- Wzorce: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy
- Warsztaty problemowe
- Wzorce behawioralne
- Wzorce: Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy, Template Method, Visitor
- Warsztaty problemowe
Wzorce GRASP
- Low Coupling, High Cohesion
- Information Expert, Creator, Controller
- Polymorphism, Pure Fabrication
- Indirection, Protected Variations
- Warsztaty problemowe
Idiomy programowania w C++
- Zarządzanie zasobami
- Idiomy: Release Return, Move Constructor, Resource Acquisition Is Initialization, Scope Guard
- Warsztaty problemowe
- Zarządzanie pamięcią
- Idiomy: Intrusive Reference Counting, Non-intrusive Reference Counting, Const auto_ptr, Checked Delete, Concrete Data Type, Copy and Swap
- Warsztaty problemowe
- Optymalizacja pamięci i przetwarzania
- Idiomy: Shrink to Fit, Clear and Minimize, Non-throwing Swap, Erase-Remove, Boost Mutant, Computational Constructor, Copy on Write, Empty Base Optimization
- Warsztaty problemowe
- Typy i bezpieczeństwo typów
- Idiomy: Type Safe Enum, Type Selection, Type Generator, Traits, Capability Query, Coercion by Member Template, Mixin from Above, Int to Type
- Warsztaty problemowe
- Konstrukcja i inicjalizacja
- Idiomy: Construction Tracker, Construct on First Use, Base from Member, Runtime Static Initialization Idiom
- Warsztaty problemowe
- Polimorfizm
- Idiomy: Interface Class, Inner Class, Virtual Friend Function, Polymorphic Exception, Virtual Constructor, Calling Virtuals During Initialization, Polymorphic Value Types
- Warsztaty problemowe
