Summer Semester 2009/10
Advanced Object-Oriented Programming IO1105
Course content:
Creational, structural and behavioral design Patterns: Factory Method, Prototype, Abstract Factory, Proxy, Adapter, Facade, Composite, Flyweight, Decorator, Bridge, Command, Strategy, Template Method, Iterator, State, Mediator, Memento, Observer, Visitor, Chain of Responsibility, Model-View-Controller. Applications of these patterns in some of the following example techniques: IO system in Java, serialization and cloning in Java, STL library in C++, Smalltalk OO language, testing package JUnit, containers in Java. Metaclasses mechanism on example of the Smalltalk.
Learning outcomes:
Knowledge of the design patterns and practical skill to use them in design of an object oriented computer system.
(in Polish) Rodzaj przedmiotu
Course coordinators
Bibliography
a) basic references:
1. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides (the Gang of Four), Design Patterns.
2. Bruce Eckel, Thinking in Patterns
b) supplementary references:
1. Bruce Eckel, Thinking in Java
2. Bruce Eckel, Thinking in C++
3. Bjorne Stroustroup, The C++ Programming Language