background image

23 | 

9 4

 

 

Χαρακτηριστικά επεκτασιμότητας 

Μια  εφαρμογή  μπορεί  να  κάνει  χρήση  εξωτερικών,  καθορισμένων  από  το  χρήστη 

κλάσεων,  δημιουργώντας  παρουσίες  αντικειμένων  επεκτασιμότητας  χρησιμοποιώντας  τα 

πλήρως αναγνωρισμένα ονόματά τους. 

Περιηγητές και περιβάλλοντα οπτικής ανάπτυξης 

Ένα πρόγραμμα περιήγησης πρέπει να μπορεί να απαριθμεί τα μέλη των κλάσεων. Τα 

οπτικά  περιβάλλοντα  ανάπτυξης  μπορούν  να  επωφεληθούν  από  τη  χρήση  πληροφοριών 

τύπου  διαθέσιμων  στην  αντανάκλαση  για  να  βοηθήσουν  τον  προγραμματιστή  να  γράψει 

σωστό κώδικα. 

Εργαλεία εντοπισμού σφαλμάτων και δοκιμής 

Οι  εντοπιστές  σφαλμάτων  πρέπει  να  είναι  σε  θέση  να  εξετάζουν  ιδιωτικά  μέλη  σε 

κλάσεις. Τα εργαλεία δημιουργίας προφίλ (Profiling Tools) να μπορούν να κάνουν χρήση της 

αντανάκλασης  για  να  καλούν  συστηματικά  ένα  εύχρηστο  σύνολο  από  διεπαφές 

προγραμματισμού εφαρμογών (API)   που ορίζονται σε μια κλάση, για να διασφαλιστεί ένα 

υψηλό επίπεδο κάλυψης κώδικα. 

 

 

2.5.2  Μειονεκτήματα της αντανάκλασης 

 

Η  αντανάκλαση  είναι  ισχυρή  τεχνική,  αλλά  δεν  πρέπει  να  χρησιμοποιείται  άσκοπα. 

Εάν είναι δυνατή η εκτέλεση μιας λειτουργίας χωρίς χρήση αντανάκλασης, είναι προτιμότερο 

να αποφεύγεται η χρήση της. Τα ακόλουθα μειονεκτήματα πρέπει να ληφθούν υπόψη κατά 

την πρόσβαση στον κώδικα μέσω αντανάκλασης. 

Επιδόσεις 

Επειδή  η  αντανάκλαση  περιλαμβάνει  τύπους  που  επιλύονται  δυναμικά,  ορισμένες 

βελτιστοποιήσεις  της  εικονικής  μηχανής  Java  δεν  μπορούν  να  πραγματοποιηθούν.  Κατά 

συνέπεια,  οι  ανακλαστικές  λειτουργίες  έχουν  βραδύτερη  απόδοση  από  τις  αντίστοιχες  μη 

αντανακλαστικές  τους,  και  θα  πρέπει  να  αποφεύγονται  σε  τμήματα  του  κώδικα  που 

καλούνται συχνά σε εφαρμογές ευαίσθητες στην απόδοση.