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

Εκπρόσωποι

14 Σεπτεμβρίου 2001

Ε: Τι είναι οι εκπρόσωποι;

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

Το ακόλουθο Σωρός Η τάξη παρέχει ένα απλό παράδειγμα σύνθεσης και προώθησης:

δημόσια τάξη Stack {private java.util.ArrayList list; δημόσια στοίβα () {list = new java.util.ArrayList (); } δημόσιο boolean κενό () {return list.isEmpty (); } δημόσιο αντικείμενο peek () {if (! blank ()) {return list.get (0); } επιστροφή μηδέν; } δημόσιο αντικείμενο pop () {if (! κενό ()) {return list.remove (0); } επιστροφή μηδέν; } δημόσια ώθηση αντικειμένου (αντικείμενο αντικειμένου) {list.add (0, item); Επιστροφη αντικειμενου; }} 

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

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

Σκεφτείτε την αληθινή ανάθεση με αυτόν τον τρόπο: Κάτι στέλνει ένα αίτημα στο αντικείμενο1. αντικείμενο1 τότε προωθεί το αίτημα και το ίδιο αντικείμενο2 - ο εκπρόσωπος. αντικείμενο2 επεξεργάζεται το αίτημα και κάνει κάποια εργασία.

Για ένα εξαιρετικό παράδειγμα αληθινής αντιπροσωπείας, ανατρέξτε στον κωδικό παραδείγματος για το πρότυπο State στο Σχεδιαστικά μοτίβα Στοιχεία επαναχρησιμοποιήσιμου αντικειμενοστρεφούς λογισμικού από τους Erich Gamma, et al (βλ. πόρους). Μπορείτε επίσης να δείτε το "Πώς να εφαρμόσετε τη συμπεριφορά που εξαρτάται από το κράτος" από τον Eric Armstrong (JavaWorld, Αύγουστος 1997).

Ο Tony Sintes είναι ένας ανεξάρτητος σύμβουλος και ιδρυτής της First Class Consulting, Inc., μιας συμβουλευτικής εταιρείας που ειδικεύεται στη γεφύρωση διαφορετικών επιχειρηματικών συστημάτων και κατάρτισης. Εκτός από την First Class Consulting, ο Tony είναι ενεργός ανεξάρτητος συγγραφέας, καθώς και συγγραφέας του Sams Teach Yourself Object-Oriented Programming σε 21 ημέρες.

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

  • Το διάσημο βιβλίο των Gang of FourΣχεδιαστικά πρότυπα, Eric Gamma, Richard Helm, Ralph Johnson, John Vlissides (Addison-Wesley Publishing Co., 1995; ISBN0201633612)

    //www.amazon.com/exec/obidos/ASIN/0201633612/javaworld

  • «Πώς να εφαρμόζουμε την εξαρτώμενη από το κράτος συμπεριφορά», Eric Armstrong (JavaWorld, Αύγουστος 1997)

    //www.javaworld.com/javaworld/jw-08-1997/jw-08-stated.html

  • Θέλουν περισσότερα? Δείτε το Ε & Α Java Ευρετήριο για τον πλήρη κατάλογο ερωτήσεων και απαντήσεων

    //www.javaworld.com/columns/jw-qna-index.shtml

  • Για περισσότερες από 100 διορατικές συμβουλές Java από μερικά από τα καλύτερα μυαλά στην επιχείρηση, επισκεφτείτε JavaWorld 'μικρό Συμβουλές Java Δείκτης

    //www.javaworld.com/columns/jw-tips-index.shtml

  • Εγγραφείτε JavaWorldΔωρεάν εβδομαδιαία ενημερωτικά δελτία email

    //www.idg.net/jw-subscribe

  • Θα βρείτε πληθώρα άρθρων που σχετίζονται με την πληροφορική από τις αδελφές εκδόσεις μας στο .net

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

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