Προγραμματισμός

Μια περιήγηση με τα πόδια στο JavaBeans

Προηγούμενη 1 2 Σελίδα 2 Σελίδα 2 από 2

Τι είναι το JavaBeans και τι κάνει

Το JavaBeans δεν είναι προϊόν, πρόγραμμα ή περιβάλλον ανάπτυξης. Είναι και το βασικό πακέτο Java (java.beans) που μπορούν να χρησιμοποιούν οι Beans για να παρέχουν εκτεταμένη λειτουργικότητα και ένα έγγραφο (το Προδιαγραφή JavaBeans) που περιγράφει τον τρόπο χρήσης των κλάσεων και των διεπαφών στο java.beans πακέτο για την εφαρμογή "Beans function." Η προδιαγραφή κλάσης είναι μέρος της βασικής έκδοσης του Java 1.1 και επομένως δεν πρέπει να εγκατασταθεί πρόσθετο λογισμικό για να το χρησιμοποιήσετε. Η προσθήκη των Beans απαιτούσε μικρή αλλαγή στη γλώσσα Java καθαυτή, αν και αρκετά νέα και εξαιρετικά απαραίτητα API προστέθηκαν στην κεντρική έκδοση για να υποστηρίξουν τις δυνατότητες του Beans. Η ανάγνωση των προδιαγραφών μπορεί να είναι κατατοπιστική αλλά και σημαντική. Ευτυχώς, είναι προαιρετικό εάν έχετε ήδη καταλάβει πώς και γιατί να χρησιμοποιήσετε το πακέτο JavaBeans. Ίσως έχετε ήδη καταλάβει τα Beans διαβάζοντας μια διασκεδαστική και διαφωτιστική σειρά άρθρων στο JavaBeans JavaWorld, για παράδειγμα.

Το JavaBeans μετατρέπει τάξεις σε στοιχεία λογισμικού παρέχοντας πολλές νέες δυνατότητες. Μερικά από αυτά τα χαρακτηριστικά είναι ειδικά για τα Beans. Άλλοι, όπως η σειριοποίηση, μπορούν να ισχύουν για όποιος τάξη, Bean ή αλλιώς, αλλά είναι ζωτικής σημασίας για την κατανόηση και τη χρήση των Beans.

Τα στοιχεία λογισμικού έχουν ιδιότητες, τα οποία είναι χαρακτηριστικά του αντικειμένου. Προσαρμογή είναι η διαδικασία διαμόρφωσης ενός Bean για μια συγκεκριμένη εργασία. Το νέο χειρισμός εκδηλώσεων Το σχήμα στην Java 1.1 δημιουργήθηκε εν μέρει για να διευκολύνει την επικοινωνία μεταξύ των Beans. Τα φασόλια μπορούν να τεμαχίζονται από IDE ή από άλλες τάξεις μέσω μιας διαδικασίας που ονομάζεται ενδοσκόπηση. Τα φασόλια μπορεί να είναι επέμεινε (δηλαδή, σειριακό) σε ροές byte για μετάδοση ή αποθήκευση, και μπορεί να υπάρχουν μόνιμα φασόλια συσκευασμένο σε "αρχεία JAR" για ευκολότερη λήψη και πρόσβαση. Τέλος, τα φασόλια έχουν σχεδιαστεί για διαλειτουργικό εύκολα με παλαιότερες τεχνολογίες στοιχείων όπως το ActiveX και το LiveConnect, και συμμετέχουν σε συναλλαγές με συστήματα Object Request Broker όπως το CORBA.

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

Ιδιότητες και προσαρμογή

Οι ιδιότητες, όπως σημειώνεται παραπάνω, είναι χαρακτηριστικά ενός φασολιού. Οι οπτικές ιδιότητες μπορεί να περιλαμβάνουν χρώμα ή μέγεθος οθόνης. Άλλες ιδιότητες ενδέχεται να μην έχουν οπτική αναπαράσταση: ένα BrowserHistory Bean, για παράδειγμα, μπορεί να έχει μια ιδιότητα που να καθορίζει τον μέγιστο αριθμό διευθύνσεων URL για αποθήκευση. Τα φασόλια εκτίθενται θέτων και καταλαβαίνω για τις ιδιότητές τους, επιτρέποντας σε άλλες τάξεις ή IDE να χειραγωγούν την κατάστασή τους. Η διαδικασία ρύθμισης των ιδιοτήτων ενός Bean στο σχεδιασμό ή στο χρόνο εκτέλεσης καλείται προσαρμογή.

Ο προγραμματιστής έχει μεγάλο έλεγχο της πρόσβασης και της τροποποίησης των ιδιοτήτων της Beans. Για ένα απλή ιδιοκτησία, ο προγραμματιστής γράφει μια μέθοδο που ονομάζεται setProperty () και άλλος κάλεσε getProperty ().

Εδώ θα έχετε δει μια μικροεφαρμογή, αλλά για κάποιο λόγο, δεν μπορείτε.

Ραβδόγραμμα

Για παράδειγμα, εάν χρησιμοποιείτε πρόγραμμα περιήγησης με δυνατότητα Java, θα δείτε στα αριστερά μια μικροεφαρμογή που χρησιμοποιεί μια μικρή κλάση που ονομάζεται Ραβδόγραμμα. ο Ραβδόγραμμα είναι η έγχρωμη ράβδος μεταξύ των δύο κουμπιών. Ραβδόγραμμα δεν έχει μόνο ένα πράγμα για να γίνει Bean: δεν εφαρμόζει τη διεπαφή java.io.Serializable (επειδή τα περισσότερα προγράμματα περιήγησης δεν χειρίζονται ακόμη το Java 1.1, και έτσι το applet του παραδείγματος θα αποτύχει.)

Με την εξαίρεση ότι είναι σειριοποιήσιμος, Ραβδόγραμμα είναι ένα απλό φασόλι, με λίγες μόνο μεθόδους. Εχει void setPercent (int pct), που πλημμυρίζει τον πυθμένα pct τοις εκατό της ράβδου με κόκκινο. Η μέθοδος int getPercent () επιστρέφει το τρέχον ποσοστό που είναι αποθηκευμένο στο Bean (αυτή είναι η κατάσταση του Bean). ο σύνολοPercent () μέθοδος καλεί επίσης χρωματίζω πάλι() αν άλλαξε το ποσοστό, έτσι ώστε η οπτική αναπαράσταση του αντικειμένου να παραμένει ενημερωμένη.

Ο κωδικός applet καλεί setPercent (getPercent () + 10) όταν ο +10% κλικ στο κουμπί, προκαλώντας το Ραβδόγραμμα για να αυξήσετε το ποσοστό του (αν είναι <100%). Τοις εκατό είναι ένα παράδειγμα ενός Ιδιοκτησία φασολιών, με τις μεθόδους setter και getter που ονομάζονται σύμφωνα με τις προδιαγραφές JavaBeans. Καθώς αυτή η σειρά συνεχίζεται, θα μεταμορφώσουμε αυτό το ταπεινό μικρό Ραβδόγραμμα σε ένα χρήσιμο στοιχείο λογισμικού που μπορεί να συνδεθεί σε μια ποικιλία εφαρμογών.

Η τιμή ενός ευρετήριο ιδιοκτησίας είναι ένας πίνακας. Οι μέθοδοι προσπέλασης των ευρετηριασμένων ιδιοτήτων λαμβάνουν και επιστρέφουν πίνακες τιμών αντί για βαθμίδες. Οι μέθοδοι πρόσβασης μπορούν να ρίξουν ελεγμένες εξαιρέσεις για να αναφέρουν συνθήκες σφάλματος.

Μερικές φορές είναι χρήσιμο να συμβεί μια ενέργεια όταν αλλάζει μια συγκεκριμένη ιδιότητα ενός αντικειμένου. Δεσμευμένες ιδιότητες προκαλεί την αποστολή συμβάντων σε άλλα αντικείμενα όταν αλλάζει η τιμή της ιδιοκτησίας, επιτρέποντας ενδεχομένως στον παραλήπτη να προβεί σε κάποια ενέργεια. Έτσι, ένα SpreadSheet Bean μπορεί να διαμορφωθεί έτσι ώστε να λέει στο PieChart Bean να επανασχεδιάζεται κάθε φορά που αλλάζουν τα δεδομένα του υπολογιστικού φύλλου.

Συχνά, ορισμένες τιμές για ιδιότητες είναι παράνομες, με βάση την κατάσταση άλλων φασολιών. Ένα Bean μπορεί να δημιουργηθεί για να "ακούει" αυτά περιορισμένες ιδιότητες άλλων φασολιών, και το "βέτο" αλλαγές δεν του αρέσει. Για παράδειγμα, ένας πυρηνικός αντιδραστήρας ControlRodArray Bean μπορεί να θέλει να παρέμβει σε κάποιον που προσπαθεί να αλλάξει την κατάσταση ενός DrainReactorCorePump Bean σε ON εάν οι ράβδοι ελέγχου τραβηχτούν. (Μην το δοκιμάσετε στο σπίτι. Πιθανώς κανείς δεν πρέπει να χρησιμοποιεί JavaBeans για τέτοιες εφαρμογές μόλις Ακόμη.)

Όταν ένας προγραμματιστής συνδέει τα Beans μαζί για να δημιουργήσει μια εφαρμογή, το IDE μπορεί να παρουσιάσει ένα φύλλο ιδιοτήτων που περιέχει όλες τις ιδιότητες των Beans και τις τρέχουσες τιμές τους. (Ένα φύλλο ιδιοτήτων είναι ένα παράθυρο διαλόγου που χρησιμοποιείται για τον καθορισμό ή / και την προβολή ιδιοτήτων, όπως αυτό που λαμβάνετε επιλέγοντας Επιλογές… σε ένα μενού.) Ο προγραμματιστής ορίζει τις ιδιότητες γραφικά, τις οποίες το IDE μεταφράζει σε κλήσεις στις μεθόδους ρύθμισης των Beans, αλλάζοντας την κατάσταση των φασολιών. Αυτό προσαρμόζει τα φασόλια για τη συγκεκριμένη εφαρμογή.

Η χρήση λιστών ιδιοτήτων δεν είναι πάντα ο καλύτερος τρόπος για να χειριστείτε την προσαρμογή των Beans. Μερικά φασόλια έχουν κατάσταση πολύ περίπλοκη για εύκολη χειρισμό με αυτόν τον τρόπο. Άλλα φασόλια θα ήταν απλώς πιο δροσερά αν υπήρχε ένας πιο διαισθητικός τρόπος για να τα ρυθμίσετε. Φανταστείτε τον φτωχό διευθυντή που απλά θέλει να δει τις αναφορές πωλήσεων και πρέπει να καταλάβει τι να πληκτρολογήσει στο πλαίσιο κειμένου "Απομακρυσμένη πηγή δεδομένων ODBC" σε ένα φύλλο ιδιοτήτων. Δεν θα ήταν πιο δροσερό αν μπορούσε απλώς να μεταφέρει και να ρίξει ένα εικονίδιο DataSource Bean (φυσικά προσαρμοσμένο με την ετικέτα "Δεδομένα πωλήσεων") σε ένα DataConnection Bean, ρυθμίζοντας έτσι αυτόματα; Ένας προγραμματιστής Beans μπορεί να ενσωματώσει ένα φύλλο ιδιοκτησίας στο ίδιο το Bean και το IDE στη συνέχεια χρησιμοποιεί αυτό το "customizer" για να προσαρμόσει το Bean.

Οι σχετικές τάξεις για το χειρισμό ιδιοτήτων και προσαρμογής βρίσκονται στο java.beans πακέτο.

Χειρισμός εκδηλώσεων

Όλη αυτή η αλληλεπίδραση μεταξύ των Beans προϋποθέτει κάποιο τρόπο να επικοινωνούν. Το JDK 1.1 ορίζει ένα νέο μοντέλο εκδήλωσης που τα μαθήματα (όχι μόνο τα φασόλια!) χρησιμοποιούν για να επικοινωνούν. Στην πραγματικότητα, αυτό το νέο μοντέλο εκδηλώσεων έχει βρεθεί σε ένα από τα πιο ευρέως χρησιμοποιούμενα πακέτα της Java: java.awt!

Στο νέο μοντέλο εκδηλώσεων, μια τάξη καταγράφει το ενδιαφέρον για τις δραστηριότητες μιας άλλης τάξης μέσω ενός διεπαφή ακροατή. Στην πραγματικότητα, το στόχος το αντικείμενο (ο ενδιαφερόμενος) λέει στο πηγή αντικείμενο (το αντικείμενο ενδιαφέροντος), "Επιτρέψτε μου να ξέρω όποτε συμβαίνει κάτι τέτοιο." Όταν συμβαίνει το so-and-έτσι, το αντικείμενο προέλευσης "πυροδοτεί" ένα συμβάν στο στόχο επικαλούμενος το χειριστή συμβάντων του στόχου με μια υποκατηγορία EventObject ως το επιχείρημα.

Τα συμβάντα μπορούν να χρησιμοποιηθούν για την εφαρμογή δεσμευμένων και περιορισμένων ιδιοτήτων. Στο παραπάνω παράδειγμα PieChart και SpreadSheet, το PieChart "καταγράφει" το ενδιαφέρον για οποιαδήποτε αλλαγή στο SpreadSheet's (ας πούμε) Λίστα δεδομένων ιδιοκτησία. Όταν το SpreadSheet πρόκειται να το αλλάξει Λίστα δεδομένων ιδιοκτησία, περνά a DataListChangedEvent (υποκατηγορία από EventObject), υποδεικνύοντας τι άλλαξε, στη μέθοδο χειρισμού εκδηλώσεων κάθε ενδιαφερόμενου ακροατή. Ο ΣΤΟΧΟΣ (Διάγραμμα πίτας) στη συνέχεια εξετάζει το συμβάν και λαμβάνει τα κατάλληλα μέτρα.

Το παράδειγμα του πυρηνικού αντιδραστήρα λειτουργεί παρόμοια. αλλά σε αυτήν την περίπτωση, ο στόχος Βέτο την αλλαγή ρίχνοντας μια εξαίρεση. Έτσι, ο κόσμος σώζεται από εκτεταμένη ραδιενεργή καταστροφή.

ο EventObject τάξη μπορεί να επεκταθεί για τη δημιουργία συμβάντα που καθορίζονται από το χρήστη. Τα μαθήματα μπορούν τώρα να ορίσουν και να χρησιμοποιήσουν νέους τύπους συμβάντων για να στέλνουν μηνύματα μεταξύ τους. Αυτό σημαίνει ότι τα φασόλια που τρέχουν μέσα στο ίδιο δοχείο ενδέχεται να επικοινωνούν μεταδίδοντας μηνύματα. Αυτό βοηθά στην αποσύνδεση των εξαρτήσεων μεταξύ αντικειμένων, τα οποία γνωρίζουμε είναι ένα πολύ καλό πράγμα.

Τα συμβάντα που καθορίζονται από τον χρήστη (και άλλα) προέρχονται από την τάξη java.util.EventObject.

Ενδοσκόπηση

Ο μάλλον περίεργος όρος ενδοσκόπηση είναι Java-speak για τη διαδικασία ανάλυσης μέσω προγραμματισμού των δημόσιων μεθόδων και των μελών μιας τάξης. Αυτή η διαδικασία καλείται επίσης μερικές φορές ανακάλυψη. Το νέο αντανάκλαση μηχανισμός στον πυρήνα Java, ο οποίος μπορεί να τεμαχίσει ένα αντικείμενο και να επιστρέψει μια περιγραφή του περιεχομένου του, καθιστά δυνατή την ενδοσκόπηση. (Παρόλο που η Java μπορεί να είναι ανακλαστική, ακόμη και ενδοσκοπική, η omphaloskepsis εξακολουθεί να μην αποτελεί μέρος της βασικής κατανομής.)

Έχουμε ήδη αντιμετωπίσει μια εφαρμογή αυτής της δυνατότητας. Πάνω, περιγράψαμε ένα IDE που θα μπορούσε να κατασκευάσει μια λίστα ιδιοτήτων Bean για παρουσίαση σε έναν προγραμματιστή. Πώς μπορεί το IDE να γνωρίζει ποιες ιδιότητες έχει ένα Bean; Το IDE ανακαλύπτει τις ιδιότητες ενός φασολιού με έναν από τους δύο τρόπους: ζητώντας από το Bean μια περιγραφή των ιδιοτήτων του, ή με την ανατομή του Bean με την ενδοσκόπηση.

Ένα τυπικό IDE θα ξεκινήσει ζητώντας ένα Bean για ένα αντικείμενο BeanInfo, το οποίο περιγράφει, μεταξύ άλλων, τις ιδιότητες του Bean. Στη συνέχεια, το IDE θα χρησιμοποιήσει το αντικείμενο BeanInfo για τη δημιουργία ενός φύλλου ιδιοτήτων. (Αυτό υποθέτει ότι το Bean δεν παρέχει δικό του εργαλείο προσαρμογής.) Εάν το Bean δεν ξέρει πώς να επιστρέψει ένα αντικείμενο BeanInfo, το IDE στη συνέχεια διεισδύει στο Bean και σαρώνει τη λίστα μεθόδων για ονόματα που ξεκινούν με σειρά και παίρνω. Υποθέτει (κατά συνθήκη) ότι αυτές οι μέθοδοι είναι προσπελάσεις για ιδιότητες και δημιουργεί ένα νέο φύλλο ιδιοτήτων με βάση τις μεθόδους πρόσβασης που υπάρχουν και τους τύπους των επιχειρημάτων που ακολουθούν αυτές οι μέθοδοι. Έτσι, εάν το IDE βρει μεθόδους όπως setColor (Χρώμα), Χρώμα getColor (), setSize (Μέγεθος), και Μέγεθος getSize (), τότε θα δημιουργήσει ένα φύλλο ιδιοτήτων με τις ιδιότητες Χρώμα και Μέγεθος, και κατάλληλα δακτυλογραφημένα widget για τη ρύθμιση τους.

Αυτό σημαίνει ότι εάν ένας προγραμματιστής ακολουθεί απλώς τις συμβάσεις για την ονομασία μεθόδων πρόσβασης, ένα IDE μπορεί να καθορίσει αυτόματα πώς να δημιουργήσει ένα φύλλο ιδιοτήτων προσαρμογής για το στοιχείο.

Ο μηχανισμός προβληματισμού που εκτελεί ενδοσκόπηση βρίσκεται στο νέο πακέτο πυρήνα γλώσσας java.lang.reflect.

Ανθεκτικότητα και συσκευασία

Είναι συχνά χρήσιμο να "στεγνώνουμε με πάγωμα" ενός αντικειμένου μετατρέποντας την κατάστασή του σε μια ομάδα δεδομένων που θα συσκευαστεί για μελλοντική χρήση - ή μεταδίδεται μέσω ενός δικτύου για επεξεργασία αλλού. Αυτή η διαδικασία ονομάζεται σειριοποίηση και είναι ένα νέο χαρακτηριστικό του πυρήνα Java.

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

Επίσης, η σειριοποίηση αποτελεί βασικό στοιχείο της τεχνολογίας συστατικών στοιχείων, καθιστώντας δυνατή την κατανομή επεξεργασμένων προγραμμάτων όπως το CORBA. Εάν ένα αντικείμενο δεν έχει τις πληροφορίες τοπικά ότι πρέπει να εκτελέσει την εργασία του, μπορεί να στείλει τον εαυτό του σε έναν Μεσίτη αιτήσεων, ο οποίος σειριοποιεί το αντικείμενο και το στέλνει αλλού για επεξεργασία. Στο απομακρυσμένο άκρο, το αντικείμενο ανασυστάται και εκτελείται η αρχικά ζητούμενη λειτουργία. Αυτός είναι επίσης ένας τρόπος για να επιτευχθεί εξισορρόπηση φορτίου (για ακριβά καθήκοντα, δηλαδή: η σειριοποίηση και η αποεστεροποίηση συχνά δεν είναι φθηνά).

Πού διατηρείτε μια ομάδα από αποξηραμένα με κατάψυξη φασόλια που έχουν "τουρσί" με αυτόν τον τρόπο; Γιατί, φυσικά, σε ένα βάζο! Η προδιαγραφή JavaBeans περιγράφει ένα ΔΟΧΕΙΟ αρχείο ως δομημένο αρχείο ZIP που περιέχει πολλά σειριακά αντικείμενα, τεκμηρίωση, εικόνες, αρχεία τάξης και ούτω καθεξής, με ένα δηλωτικό που περιγράφει τι υπάρχει στο JAR. Ένα αρχείο JAR, που περιέχει πολλά συμπιεσμένα μικρά αρχεία, μπορεί να ληφθεί όλα σε ένα κομμάτι και να αποσυμπιεστεί στο τέλος του πελάτη, καθιστώντας τη λήψη μικροεφαρμογών (για παράδειγμα) πιο αποτελεσματική. (Το JAR είναι προφανώς ένα παιχνίδι στο Unix πίσσα μορφή αρχείου.)

ο java.io Το πακέτο παρέχει σειριοποίηση αντικειμένων. Η προδιαγραφή JavaBeans περιγράφει τη μορφή αρχείων JAR.

Διαλειτουργικότητα

Κάποιο wag είπε κάποτε ότι το ωραίο με τα πρότυπα είναι ότι υπάρχουν τόσα πολλά να διαλέξετε. Οι τεχνολογίες συστατικών δεν αποτελούν εξαίρεση. Υπάρχουν πολλά υπάρχοντα συστήματα που βασίζονται σε OLE (ή την πιο πρόσφατη ενσάρκωσή του, ActiveX), OpenDoc και LiveConnect. Το JavaBeans έχει σχεδιαστεί ώστε (τουλάχιστον τελικά) να συνεργάζεται με αυτές τις άλλες τεχνολογίες συστατικών.

Δεν είναι ρεαλιστικό να περιμένουμε από τους προγραμματιστές να εγκαταλείψουν τις υπάρχουσες επενδύσεις σε άλλες τεχνολογίες και να εφαρμόσουν εκ νέου τα πάντα στην Java. Από την κυκλοφορία του Java 1.1, τα πρώτα κιτ Beans / ActiveX "γέφυρα" έχουν γίνει διαθέσιμα, επιτρέποντας στους προγραμματιστές να συνδέουν τα στοιχεία Beans και ActiveX στην ίδια εφαρμογή. Η διεπαφή Java IDL, η οποία θα επιτρέπει στις κλάσεις Java να λειτουργούν με υπάρχοντα συστήματα CORBA, αναμένεται να κυκλοφορήσει φέτος.

Αν και η γέφυρα Beans / ActiveX και το Java IDL δεν αποτελούν μέρος της τυπικής διανομής JavaBeans, ολοκληρώνουν τις δυνατότητες του JavaBeans ως ανοιχτής τεχνολογίας βιομηχανικής ισχύος για φορητό λογισμικό.

συμπέρασμα

Έχουμε καλύψει πολύ έδαφος. Σε αυτό το άρθρο, έχετε μάθει ποια είναι τα στοιχεία λογισμικού και γιατί είναι πολύτιμα. Στη συνέχεια, μάθατε για τις διάφορες ιδιότητες του JavaBeans, συμπεριλαμβανομένων των ιδιοτήτων, της προσαρμογής, των συμβάντων, της ενδοσκόπησης, της εμμονής, της συσκευασίας και της διαλειτουργικότητας με τα παλαιότερα συστήματα στοιχείων.

Στο επόμενο άρθρο αυτής της σειράς, θα σας ξεκινήσουμε να χρησιμοποιείτε το JavaBeans και θα εξετάσουμε σε βάθος τις ιδιότητες Bean: πώς λειτουργούν και πώς να κάνετε τα Beans σας προσαρμόσιμα. Καθώς προχωράμε, θα συζητήσουμε τις νέες βασικές δυνατότητες Java που καθιστούν τα Beans δυνατά. Μελλοντικά άρθρα σε αυτήν τη σειρά θα ερευνήσουν τις λεπτομέρειες των θεμάτων που συζητήσαμε αυτόν τον μήνα.

Ο Μαρκ Τζόνσον έχει πτυχίο Πληροφορικής και Ηλεκτρολόγων Μηχανικών από το Πανεπιστήμιο Purdue (1986). Έχει 15 χρόνια εμπειρίας προγραμματισμού στο C και δύο ετών στο C ++ και είναι φανατικός λατρευτής της προσέγγισης Design Pattern στην αντικειμενοστρεφή αρχιτεκτονική, των λογισμικών στοιχείων στη θεωρία και του JavaBeans στην πράξη. Τα τελευταία χρόνια, εργάστηκε για τους Kodak, Booz-Allen και Hamilton, και EDS στην Πόλη του Μεξικού, αναπτύσσοντας εφαρμογές βάσεων δεδομένων Oracle και Informix για το Ομοσπονδιακό Εκλογικό Ινστιτούτο του Μεξικού και για τα τελωνεία του Μεξικού. Πέρασε τον τελευταίο χρόνο δουλεύοντας στο NETdelivery, μια εκκίνηση στο Διαδίκτυο τώρα στο Boulder, CO. Ο Mark είναι ένας βαμμένος προγραμματιστής Unix και βλέπει την Java ως τον ελλείποντα σύνδεσμο μεταξύ των πλέον πανταχού παρόντα επιτραπέζιων πελατών και ανοιχτών, διανεμημένων, και επεκτάσιμες επιχειρήσεις. Αυτή τη στιγμή εργάζεται ως σχεδιαστής και προγραμματιστής για Object Products στο Fort Collins, CO.

Μάθετε περισσότερα σχετικά με αυτό το θέμα

  • Μια εξαιρετική σύγκριση των JavaBeans και ActiveX μπορεί να βρεθεί στο Merlin Hughes JavaWorld εξώφυλλο, "JavaBeans και ActiveX πηγαίνετε με κεφάλι"

    //www.javaworld.com/javaworld/jw-03-1997/jw-03-avb-tech.html

  • Η Sun Microsystems διατηρεί μια τοποθεσία Web για JavaBeans. Σε αυτόν τον ιστότοπο, μπορείτε να κατεβάσετε το πιο πρόσφατο BDK (Beans Developer's Kit), να διαβάσετε το JavaBeans Specification, να περιηγηθείτε σε ένα διαδικτυακό σεμινάριο και να μάθετε για τις τελευταίες πληροφορίες για τα Beans. //java.sun.com/beans
  • ο Σύμβουλος JavaBeans, ένα περιστασιακό ηλεκτρονικό ενημερωτικό δελτίο που περιέχει ειδήσεις Beans και συμβουλές για προγραμματιστές, αρχειοθετείται στη διεύθυνση

    //splash.javasoft.com/beans/Advisor.html

  • ο Συχνές ερωτήσεις JavaBeans συντηρείται από την Sun είναι στις

    //splash.javasoft.com/beans/FAQ.html

  • Τελικά, omphaloskepsis είναι μια μορφή ενδοσκοπικού διαλογισμού που περιλαμβάνει έντονο στοχασμό του ομφαλού. Ρίξτε μια ματιά στον ιστότοπο του Word A Day και συμπληρώστε την καθημερινή ομιλία σας με ασαφείς αναφορές! //www.wordsmith.org/awad/index.html

Αυτή η ιστορία, "Μια περιήγηση με τα πόδια στο JavaBeans" δημοσιεύθηκε αρχικά από το JavaWorld.

$config[zx-auto] not found$config[zx-overlay] not found