A practical introduction to the important new topic of object-oriented design patterns. This book describes pure abstraction-based object-oriented software development - the design and usage of semi-finished reusable components and sybsystems which are based on abstractions of the real world. It starts with an introduction to abstraction based on object-oriented software development. The current state of the art in design patterns is discussed in...