Linux Inside
87
ερωτήματα SQL τα οποία συντίθενται ανάλογα με τις επιλο-
γές του χρήστη και τα περιεχόμενα του SWT πίνακα. Τα απο-
τελέσματα εκτέλεσης εντολών SQL στη βάση δεδομένων επι-
στρέφονται στην εφαρμογή μας με τη μορφή συνόλων αποτε-
λεσμάτων (Result Set). Κάθε φορά που πρόκειται να γίνει ει-
σαγωγή, ενημέρωση, αναζήτηση και διαγραφή κάποιας εγ-
γραφής (δηλαδή κάποιου κλειδιού πρόσβασης) δημιουργείται
αντίστοιχο ερώτημα και αποστέλλεται στο σύστημα διαχείρι-
σης της βάσης δεδομένων για εκτέλεση. Κατά την εκκίνηση
της εφαρμογής όπου ζητάμε όλα τα περιεχόμενα του πίνακα
κλειδιών της βάσης δεδομένων και κατά την αναζήτηση εγ-
γραφών, υπάρχουν δεδομένα που επιστρέφονται ως απάντη-
ση με τη μορφή συνόλου αποτελεσμάτων.
Σε όλο τον κώδικα είμαστε προσεκτικοί με τους ελέγχους
γιατί το σύστημα διαχείρισης της βάσης δεδομένων αποτελεί
μία λειτουργική οντότητα εξωτερική της εφαρμογής μας. Η
μη αντιμετώπιση κάποιων καταστάσεων, όπως ασύμβατες τι-
μές, λανθασμένες ενέργειες κ.ά. οδηγούν την εφαρμογή σε
τερματισμό. Έτσι, πρέπει να προλαμβάνουμε όλες τις πιθα-
νές καταστάσεις. Αυτό γίνεται χρησιμοποιώντας το μηχανισμό
αντιμετώπισης εξαιρέσεων που διαθέτει η Java. Οι ενέργειες
του χρήστη σε σχέση με τα στάδια λειτουργίας της εφαρμο-
γής και τα γεγονότα που αυτή αντιμετωπίζει, παρουσιάζονται
στην
εικόνα 2.
Κριτική της εφαρμογής
Η χρήση του SWT πίνακα για τη φόρτωση όλων των κλει-
διών κατά την εκκίνηση δεν είναι η αποδοτικότερη μέθοδος.
Υπάρχει βέβαια μία μικρή επιβάρυνση στην ταχύτητα και την
απαιτούμενη μνήμη, η οποία όμως δεν είναι ιδιαίτερη για το
μέγεθος της εφαρμογής μας ούτε για τις μερικές εκατοντά-
δες εγγραφές που αναμένεται να διαχειρίζεται η βάση δεδο-
μένων. Ένα ακόμη μειονέκτημα είναι η άμεση εξάρτηση του
κώδικα της εφαρμογής από το σχεδιασμό της βάσης δεδομέ-
νων. Πιθανές αλλαγές στη βάση θα οδηγούσαν σε ανάγκη αλ-
λαγής μεγάλου μέρους του κώδικα.
Στην περίπτωση όμως ανάπτυξης εφαρμογών με ανάλογες
απαιτήσεις χρησιμοποιούνται, όπως ήδη αναφέρθηκε, διαφο-
ρετική αρχιτεκτονική, κατάλληλα πλαίσια εργασίας και τεχνι-
κές, ώστε να γίνεται λιγότερο επίπονη και δαιδαλώδης η δου-
λειά των δημιουργών.
Σκοπός της εφαρμογής μας είναι η εκμάθηση και αυτό έχει
ως αποτέλεσμα να υπάρχει σε ορισμένα σημεία μία «φλυα-
ρία», η οποία μπορεί να αρθεί με μία πιο προσεκτική ματιά,
για παράδειγμα, κατά την ενεργοποίηση και απενεργοποίηση
των πλήκτρων του παραθύρου της εφαρμογής. Υπάρχουν
επίσης σημεία που θα μπορούσαν να βελτιωθούν, λ.χ., το ότι
δεν υπάρχει προφύλαξη στην προβολή των συνθηματικών
ώστε οι χαρακτήρες τους να εμφανίζονται με αστεράκια. Όλα
αυτά όμως μπορούν να θεωρηθούν ως «άσκηση για το σπίτι»,
η οποία ακολουθεί την πρώτη αντίληψη και κατανόηση του
κώδικα και θα εισαγάγει την πρόκληση δημιουργίας βελτιω-
μένων εκδόσεων του κώδικα.
•
Linux Labs - Java
Διευθύνσεις
[1]
Συνδεσιμότητα Java με Βάσεις Δεδομένων:
[2]
Oracle: Java DB:
index.html
[3]
Λήψεις του Java SE Development Kit 7:
downloads-1637583.html
[4]
Ξεκινώντας με το Apache Derby (Java DB):
[5]
Έκδοση 10.9.1.0 του Apache Derby:
[6]
Eclipse: WindowBuilder:
Ενέργειες χρήστη κατά τη λειτουργία της εφαρμογής.
2