Βιβλιογραφικά στοιχεία
Ο αντικειμενοστρεφής προγραμματισμός αποτελεί ένα εξαιρετικό υπόδειγμα για τη δημιουργία σύγχρονων συστημάτων λογισμικού. Ωστόσο, για την ανάπτυξη έργων λογισμικού μεγάλης κλίμακας, δεν επαρκεί η υλοποίηση λειτουργικού κώδικα· απαιτείται συστηματική σχεδίαση του συστήματος πριν από την κωδικοποίηση. Το πλέον εμφανές σύμπτωμα μιας "κακής" σχεδίασης είναι η δυσκολία συντήρησης του λογισμικού, δηλαδή της ικανοποίησης των νέων απαιτήσεων των πελατών.
Σε αυτό το βιβλίο παρουσιάζονται ευρέως διαδεδομένες αρχές, πρότυπα και ευρετικοί κανόνες που έχουν ως στόχο τη βελτίωση της σχεδίασης και την παραγωγή ευέλικτου, κατανοητού και εύκολα συντηρήσιμου λογισμικού. Με τη χρήση πλήρους κώδικα σε C++ και Java εξετάζονται τα προβλήματα που προκύπτουν από μια σχεδίαση χαμηλής ποιότητας καθώς και οι ενδεδειγμένες τεχνικές για τη σχεδίαση καλά δομημένων συστημάτων. Στο βιβλίο παρουσιάζεται και χρησιμοποιείται η Ενοποιημένη Γλώσσα Μοντελοποίησης (UML) για την απεικόνιση της αρχιτεκτονικής δομής του λογισμικού.