Durata cursului: 3 zile
Descrierea cursului:
Design Patterns sunt solutii care si-au dovedit eficacitatea in rezolvarea problemelor care apar in sistemele software orientate-obiect. Acest curs prezinta saisprezece design patterns si include exercitii de programare detaliate, care permit participantilor sa practice efectiv implementarea pattern-urilor alese.
Cursul se adreseaza:
Arhitectilor de sistem, designer-ilor si programatorilor care pregatesc sau sunt deja implicati in proiecte software care utilizeaza un design orientat-obiect.
Odata incheiat cu succes cursul, veti putea:
* Sa descrieti scopul design pattern-urilor.
* Sa intelegeti modul de documentare si clasificare a design pattern-urilor.
* Sa utilizati Singleton Pattern pentru a asigura accesul controlat la instanta unica a unei clase.
* Sa utilizati Composite Pattern pentru reprezentarea ierarhiilor de obiecte intreg-parte.
* Sa utilizati Factory Method Pattern pentru eliminarea nevoii de hardcodare a numelor specifice de clase.
* Sa folositi Observer Pattern pentru a minimiza cuplarea intre obiectele domanin si cele de interfata.
* Sa folositi Template Method Pattern pentru implementarea partilor comune ale unei operatiuni.
* Sa utilizati Strategy Pattern pentru a configura o clasa cu unul din multe comportamente alternative.
* Sa utilizati Iterator Pattern pentru a separa mecanismul de traversare dintr-un obiect agregat si pentru a suporta traversari concurente in acelasi obiect.
* Sa folositi alte pattern-uri creationale pentru a ajuta sistemul sa devina independent de modul de creare a obiectelor.
* Sa folositi alte pattern-uri structurale pentru compunerea claselor si a obiectelor in structuri mai mari.
* Sa utilizati alte patternuri de comportanment pentru administrarea algoritmilor si asignarea de responsibilitati obiectelor.
Cunostinte necesare:
Este necesara experienta in programarea cu Java sau alt limbaj de programare OOP (C++, Python, Ruby) si familiarizare cu concepte de programare orientata-obiect.
Structura cursului:
* Capitolul 1: Introducere
1. Ce este un design pattern?
2. De ce se studiaza design pattern-urile
3. Istoria design pattern-urilor
4. Catalogarea design pattern-urilor
5. Pattern-urile prezentate in acest curs
6. "Teme" de design patterns
* Capitolul 2: Pattern-ul Singleton
1. Prezentare generala
2. Implementarea Java
3. Exemplu de Java API
* Capitolul 3: Pattern-ul Composite
1. Prezentare generala
2. Structura
3. Implementarea Java
4. Exemplu de Java API
5. Exemplu de cod sursa Java
* Capitolul 4: Pattern-ul Factory Method
1. Prezentare generala
2. Structura
3. Implementarea Java
4. Exemplu de Java API
5. Exemplu de cod sursa Java
* Capitolul 5: Pattern-ul Observer
1. Prezentare generala
2. Structura
3. Implementarea Java
4. Exemplu de Java API
5. Exemplu de cod sursa Java
* Capitolul 6: Pattern-ul Template Method
1. Prezentare generala
2. Structura
3. Implementarea Java
4. Exemplu de Java API
5. Exemplu de cod sursa Java
* Capitolul 7: Pattern-ul Iterator
1. Prezentare generala
2. Structura
3. Implementarea Java
4. Exemplu de Java API
5. Exemplu de cod sursa Java
* Capitolul 8: Pattern-ul Strategy
1. Prezentare generala
2. Structura
3. Implementarea Java
4. Exemplu de Java API
5. Exemplu de cod sursa Java
* Capitolul 9: Alte pattern-uri creationale
1. Pattern-ul Abstract Factory
2. Pattern-ul Prototype
3. Pattern-ul Builder
4. Pattern-uri creationale - Sumar
* Capitolul 10: Alte pattern-uri structurale
1. Pattern-ul Adapter
2. Pattern-ul Bridge
3. Pattern-ul Decorator
4. Pattern-uri structurale - Sumar
* Capitolul 11: Alte pattern-uri comportamentale
1. Pattern-ul Memento
2. Pattern-ul Chain of Responsibility
3. Pattern-ul Visitor
4. Pattern-uri comportamentale - Sumar