Zaawansowane programowanie obiektowe IO1105
Treści programowe:
Kreacyjne, strukturalne i czynnościowe wzorce projektowe: Factory Method, Prototype, Abstract Factory, Proxy, Adapter, Fasada, Composite, Flyweight, Decorator, Bridge, Command, Strategy, Template Method, Iterator, State, Mediator, Memento, Observer, Visitor, Chain of Responsibility, Model-View-Controller. Mechanizmy wykorzystujące te wzorce: system IO Javy, serializacja i klonowanie w Javie, biblioteka STL C++, język Smalltalk, biblioteka testująca JUnit, kontenery w Javie. Mechanizm metaklas na przykładzie Smalltalka.
Efekty kształcenia:
Znajomość wzorców obiektowych i umiejętność ich praktycznego zastosowania do zaprojektowania obiektowo zorientowanego systemu informatycznego.
Rodzaj przedmiotu
Koordynatorzy przedmiotu
Literatura
a) podstawowa:
1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (the Gang of Four), Design Patterns.
2. Bruce Eckel, Thinking in Patterns
b) uzupełniająca:
1. Bruce Eckel, Thinking in Java
2. Bruce Eckel, Thinking in C++
3. Bjorne Stroustroup, Język C++