ISBN: 978-960-461-063-1 Συγγραφέας: LISKOV BARBARA, GUTTAG JOHN Εκδοτικός οίκος: ΚΛΕΙΔΑΡΙΘΜΟΣ Σελίδες: 440 Ημερομηνία Έκδοσης: Σεπτέμβριος 2007 ΑΦΑΙΡΕΣΕΙΣ ΠΡΟΔΙΑΓΡΑΦΕΣ ΚΑΙ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΕΦΗΣ ΣΧΕΔΙΑΣΜΟΣ Γραμμένο από διεθνούς φήμης ειδικούς στη μεθοδολογία προγραμματισμού, το βιβλίο αυτό σας εξηγεί πώς να κατασκευάζετε προγράμματα ποιότητας παραγωγής, δηλαδή προγράμματα αξιόπιστα και εύκολα στη συντήρηση και την τροποποίηση. Το βιβλίο δίνει έμφαση στον αρθρωτό (modular) προγραμματισμό: πώς θα δομήσετε σωστά τις επιμέρους υπομονάδες (modules) και πώς θα οργανώσετε ένα πρόγραμμα ως συλλογή υπομονάδων. Η μεθοδολογία του είναι αποτελεσματική τόσο για τον ανεξάρτητο προγραμματιστή, που κατασκευάζει ένα μικρό πρόγραμμα ή μια υπομονάδα για ένα μεγαλύτερο, όσο και για το μηχανικό λογισμικού που είναι μέλος μιας ομάδας ανάπτυξης ενός σύνθετου προγράμματος, το οποίο αποτελείται από πολλές υπομονάδες. Και στις δύο περιπτώσεις, η μεθοδολογία του βιβλίου εξασφαλίζει γερές βάσεις για το σχεδιασμό αντικειμενοστρεφών προγραμμάτων και την αρθρωτή υλοποίηση λογισμικού. Επειδή κάθε υπομονάδα του προγράμματος αντιστοιχεί σε μια αφαίρεση, όπως μια συλλογή εγγράφων ή μια διαδικασία η οποία αναζητά συγκεκριμένα έγγραφα στη συλλογή, το βιβλίο εξηγεί πρώτα τα πιο χρήσιμα είδη αφαιρέσεων: αφαιρέσεις διαδικασιών, αφαιρέσεις επαναλήψεων (iteration abstractions), και, κυρίως, αφαιρέσεις δεδομένων (data abstractions). Μάλιστα, οι συγγραφείς αντιμετωπίζουν την αφαίρεση δεδομένων ως βασικό υπόδειγμα για το σχεδιασμό και την υλοποίηση αντικειμενοστρεφών προγραμμάτων. Το βιβλίο, με πλήθος παραδειγμάτων, δείχνει επίσης πώς θα αναπτύξετε προδιαγραφές που ορίζουν αυτές τις αφαιρέσεις -προδιαγραφές που περιγράφουν τι κάνει μια υπομονάδα- και στη συνέχεια αναλύει τους τρόπους υλοποίησης των υπομονάδων ώστε να κάνουν αυτό που υποτίθεται ότι πρέπει να κάνουν με αποδεκτή απόδοση. Η γλώσσα προγραμματισμού που χρησιμοποιείται στα παραδείγματα του βιβλίου είναι η JavaΤΜ. Ωστόσο, οι τεχνικές που παρουσιάζονται είναι ανεξάρτητες από τη γλώσσες προγραμματισμού, ενώ θα βρείτε και μια εισαγωγή στις βασικές έννοιες της Java για τους προγραμματιστές που δεν είναι εξοικειωμένοι με τη γλώσσα αυτή.
|