Adresaci Szkolenia:

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++.

Cel szkolenia:

Celem szkolenia jest zapoznanie i przećwiczenie dobrych praktyk, zasad i wzorców programowania obiektowego w C++, w tym:

  • Zasad SOLID
  • Wybranych wzorców GRASP
  • Wybranych wzorców Bandy Czworga (Gang of Four)
  • Wybranych idiomów programowania w C++

Wymagania:

Uczestnicy muszą posiadać umiejętność programowania w języku C++.

Parametry szkolenia:

3*8 godzin (3*7 godzin netto) wykładów i warsztatów (z wyraźną przewagą warsztatów).

Wielkość grupy: maks. 8-10 osób.

Program szkolenia

  1. Zasady SOLID
    1. Zasada jednej odpowiedzialności (The Single Responsiblity Principle)
      1. Wstęp, definicja, odpowiedzialności
      2. Warsztaty problemowe
      3. Zasady refaktoringu
      4. Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
    2. Zasada otwarte/zamknięte (The Open/Closed Principle)
      1. Wstęp, definicja, odpowiedzialności
      2. Warsztaty problemowe
      3. Zasady refaktoringu
      4. Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
    3. Zasada podstawienia Liskov (The Liskov Substitution Principle)
      1. Wstęp, definicja, odpowiedzialności
      2. Warsztaty problemowe
      3. Zasady refaktoringu
      4. Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
    4. Zasada segregacji interfejsów (The Interface Segregation Principle)
      1. Wstęp, definicja, odpowiedzialności
      2. Warsztaty problemowe
      3. Zasady refaktoringu
      4. Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
    5. Zasada odwrócenia zależności (The Dependency Inversion Principle)
      1. Wstęp, definicja, odpowiedzialności
      2. Warsztaty problemowe
      3. Zasady refaktoringu
      4. Wybrane wzorce Bandy Czworga (GoF) w kontekście zasady
  2. Wzorce Bandy Czworga (GoF)
    1. Wzorce konstrukcyjne
      1. Wzorce: Singleton, Factory Method, Abstract Factory, Prototype, Builder
      2. Warsztaty problemowe
    2. Wzorce strukturalne
      1. Wzorce: Adapter, Bridge, Composite, Decorator, Façade, Flyweight, Proxy
      2. Warsztaty problemowe
    3. Wzorce behawioralne
      1. Wzorce: Chain of Responsibility, Command, Iterator, Mediator, Memento, Oserwer, State, Strategy, Template Method, Visitor
      2. Warsztaty problemowe
  3. Wzorce GRASP
    1. Low Coupling, High Cohesion
    2. Information Expert, Creator, Controller
    3. Polymorphism, Pure Fabrication
    4. Indirection, Protected Variations
    5. Warsztaty problemowe
  4. Idiomy programowania w C++
    1. Zarządzanie zasobami
      1. Idiomy: Release Return, Move Constructor, Resource Acquisition Is Initialization, Scope Guard
      2. Warsztaty problemowe
    2. Zarządzanie pamięcią
      1. Idiomy: Intrusive Reference Counting, Non-intrusive Reference Counting, Const auto_ptr, Checked Delete, Concrete Data Type, Copy and Swap
      2. Warsztaty problemowe
    3. Optymalizacja pamięci i przetwarzania
      1. Idiomy: Shrink to Fit, Clear and Minimize, Non-throwing Swap , Erase-Remove, Boost Mutant, Computational Constructor, Copy on Write, Empty Base Optimization
      2. Warsztaty problemowe
    4. Typy i bezpieczeństwo typów
      1. Idiomy: Type Safe Enum, Type Selection, Type Generator, Traits, Capability Query, Coercion by Member Template, Mixin from Above, Int to Type
      2. Warsztaty problemowe
    5. Konstrukcja i inicjalizacja
      1. Idiomy: Construction Tracker, Construct on First Use, Base from Member, Runtime Static Initalization Idiom
      2. Warsztaty problemowe
    6. Polimorfizm
      1. Idiomy: Interface Class, Inner Class, Virtual Friend Function, Polymorphic Exception, Virtual Constructor, Calling Virtuals During Initialization, Polymorphic Value Types
      2. Warsztaty problemowe

Pytania?

* Wymagane.


Konsultant on-line
Skorzystaj z usług naszego konsultanta on-line.
Naciśnij przycisk ‘Skorzystaj’ aby przejść do okienka czatu
Kontakt
ul. Nowogrodzka 62c
02-002 Warszawa
Telefon +48 22 2035600
Fax +48 22 2035601
Email