If you know more interesting books or related links, feel free to submit them to us.
Booch, G. Object-Oriented Analysis and Design with Applications. Addison-Wesley.
Budd, T. Introduction to Object-Oriented Programming. 2nd. ed., Addison-Wesley.
Buschmann, F. et al. Pattern-Oriented Software Architecture: A System of Patterns. John Wiley & Sons.
Czarnecki, K. and Eisenecker, U. Generative Programming. Addison-Wesley.
Garland, D. and Shaw, M. Software Architecture: Perspectives on an Emerging Discipline. Prentice Hall.
Gamma, E. et al. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley.
Riel, A. Object-Oriented Design Heuristics. Addison-Wesley.
Beck, Kent Smalltalk Best Practice Patterns. Prentice Hall.
Coplien, J. et al. Organizational Patterns http://www.bell-labs.com/cgi-user/OrgPatterns/OrgPatterns?OrganizationalPatterns
Fowler, Martin. Patterns of Enterprise Application Architecture. Addison-Wesley.
Gabriel, R.P. Patterns of Software http://www.dreamsongs.com/
Schmidt, D. et al. Pattern-Oriented Software Architecture, Vol. 2: Patterns for Concurrent and Networked Objects. John Wiley & Sons.
There is a Design Patterns Homepage: http://www.hillside.net/patterns/
Brian Foote deals with design patterns in a somewhat humorous way.
Brian Foote's Paper Index
Meyer, B. Object-Oriented Software Construction. 2nd. ed., Prentice Hall.
Fayad, M. E. et al. Building Application Frameworks. John Wiley & Sons
Froehlich, G. et al. Designing Object-Oriented Frameworks. This deals with key issues in the design of object-oriented frameworks. (PDF document)
Korienek, G. et al. Squeak: A Quick Trip to ObjectLand. Addison-Wesley.
Beta is a somewhat "different" yet object-oriented language in the
"Scandinavian" tradition of Simula.
Beta homepage
C++:
Understanding C++: An Accelerated Introduction
Bjarne Stroustrup's homepage
Java. The Java Tutorial
MultiJava is an extension to the Java programming language
that facilitates multiple dispatch of method calls.
The MultiJava Project
Homepage
Python is an object-oriented scripting language.
Python Homepage
Smalltalk is perhaps, for those who know it, the object-oriented
language.
The Squeak system is a fully complete
open source implementation.
VisualWorks,
another Smalltalk system, is free for non-commercial use.
ArgoUML is written in Java and should thus be platform
independent. It can import XMI files generated with, for example, Together.
ArgoUML Homepage
DIA is a "drawing program" for both Linux and
Windows systems that also supports creating UML diagrams.
DIA Homepage
Poseidon for UML is a plugin for the NetBeans and Forte IDEs.
Gentleware Homepage
Together is not just a UML tool, but a full-fledged CASE tool
for Java, C++ and C# (forthcoming). If you need a license, send us an e-mail - all
it needs for you is to be a student at Darmstadt University of
Technology.
TogetherSoft Homepage
Generating PDF without Acrobat is not really a problem; use GhostScript.