Opis szkolenia:
Szkolenie przeznaczone dla programistów C# chcących podnieść efektywność tworzonego kodu.
Wzorce projektowe to opisy rozwiązań problemów programistycznych. Ich stosowanie podczas tworzenia oprogramowania pozwala uzyskać oszczędności czasowe, zwiększyć efektywność pracy i zoptymalizować działanie programów. Programista dysponujący wiedzą o wzorcach projektowych może łatwo rozpoznawać problemy, dla których te wzorce znajdują zastosowanie, i natychmiast przystępować do opracowywania rozwiązań, bez konieczności wstrzymywania projektu, analizowania problemu i rozważania możliwych strategii.
Szkolenie zawiera szczegółowe omówienie najpopularniejszych wzorców, reguły ich wykorzystywania oraz przykłady kodu na nich opartego. Przy opisie każdego wzorca omawiane są również argumenty przemawiające za jego stosowaniem lub unikaniem w konkretnych przypadkach.
Plan szkolenia:
Wprowadzenie do wzorców projektowych
- Dziedziczenie i kompozycja
- Mechanizm delegowania żądań
- S.O.L.I.D. OOP
- Zasada pojedynczej odpowiedzialności - Single-Responsibility Principle
- Zasada otwarte-zamknięte - Open/Close Principle
- Zasada podstawiania Liskov - Liskov Substitution Principle
- Zasada segregacji interfejsów - Interface Segregation Principle
- Zasada odwracania zależności - Dependency Inversion Principle
Konstrukcyjne wzorce projektowe
- Factory Method
- Abstract Factory
- Builder
- Prototype
- Singleton
- Object Pool
Strukturalne wzorce projektowe
- Adapter
- Composite
- Decorator
- Façade
- Proxy
- Bridge
- Flyweight
Behawioralne wzorce projektowe
- Template Method
- Strategy
- State
- Chain of Responsibility
- Command
- Memento
- Iterator
- Mediator
- Observer
- Visitor
Inne wzorce projektowe
- Table Data Gateway
- Null Object
- Active Object
Wzorce projektowe przetwarzania współbieżnego (opcjonalnie)
- Single Threaded Execution
- Static Locking Order
- Lock Object
- Guarded Suspension
- Balking
- Scheduler
- Read/Write Lock
- Producer-Consumer
- Double Buffering
- Asynchronous Processing
- Future
Czas trwania szkolenia:
3 dni po 8 godzin lekcyjnych