🏗️ Χτίζοντας Αντικειμενοστραφή Προγράμματα
Η επιτυχία μιας αντικειμενοστραφούς εφαρμογής βασίζεται στη δημιουργία και τη συνεργασία αντικειμένων, τα οποία εργάζονται μαζί για να λύσουν ένα πρόβλημα. Η διαδικασία αναγνώρισης των απαραίτητων στοιχείων της εφαρμογής γίνεται ως εξής:
- 🧩 Αντικείμενα: Τα αντικείμενα που συμμετέχουν με συγκεκριμένο ρόλο στο σενάριο.
- 🔑 Ιδιότητες: Τα δεδομένα που χαρακτηρίζουν κάθε αντικείμενο και σχετίζονται με το πρόβλημα.
- 🔧 Υπηρεσίες/Ενέργειες: Οι ενέργειες που προσφέρει κάθε αντικείμενο και υλοποιούν τις λειτουργίες του.
- 🤝 Συνεργασίες: Οι τρόποι με τους οποίους τα αντικείμενα συνεργάζονται για να λύσουν το πρόβλημα.
Παράδειγμα «Αποστολή Λουλουδιών» 🌸
Ας εξετάσουμε το πρόβλημα της αποστολής λουλουδιών. Για να επιλύσουμε το πρόβλημα, εντοπίζουμε τα παρακάτω:
📦 Αντικείμενα
Τα αντικείμενα που συμμετέχουν στο σενάριο είναι:
- Μαμά (Πελάτης)
- Γιώργος (Ανθοπώλης)
- Τζοβάνι (Ανθοπώλης)
- Αντώνιο (Ανθοθέτης)
- Πέπε (Ταχυμεταφορέας)
- Άννα (Πελάτης)
🛠️ Ιδιότητες
Κάθε αντικείμενο έχει τις δικές του ιδιότητες που το χαρακτηρίζουν:
- Μαμά & Άννα: Όνομα, Επώνυμο, Διεύθυνση, Τηλέφωνο, Email
- Γιώργος & Τζοβάνι: Επωνυμία εταιρείας, Κωδικοί, Διεύθυνση
- Αντώνιο: Επωνυμία εταιρείας, Ειδικότητα
- Πέπε: Τύπος υπηρεσίας (Ταχυμεταφορά)
⚙️ Ενέργειες/Υπηρεσίες
Οι ενέργειες που εκτελεί κάθε αντικείμενο για να επιτευχθεί ο στόχος:
- Μαμά: ΚάνειΠαραγγελία()
- Γιώργος: ΔέχεταιΠαραγγελία(), ΖητάΣυνεργασία()
- Τζοβάνι: ΑποδέχεταιΣυνεργασία(), ΑναθέτειΑνθοδεσία()
- Αντώνιο: ΕτοιμάζειΑνθοδέσμη()
- Πέπε: ΠαραδίδειΑνθοδέσμη()
- Άννα: ΠαραλαμβάνειΑνθοδέσμη()
🤝 Είδος Συνεργασίας
Για την επίλυση του προβλήματος, τα αντικείμενα συνεργάζονται ως εξής:
- Παραγγελία: Μαμά → Γιώργος
- Συνεργασία: Γιώργος → Τζοβάνι
- Ανάθεση Ανθοδέσμης: Τζοβάνι → Αντώνιο
- Παράδοση: Τζοβάνι → Πέπε → Άννα
Οι μέθοδοι αντικειμένων ορίζουν τις λειτουργίες που εκτελούν τα αντικείμενα, ενώ οι ιδιότητες είναι τα δεδομένα που περιγράφουν την κατάσταση τους.
📈 Διαγραμματική αναπαράσταση
Για να οργανώσουμε τα αντικείμενα που συμμετέχουν στη λύση του προβλήματος, μπορούμε να χρησιμοποιήσουμε ένα παραλληλόγραμμο για κάθε αντικείμενο που εμφανίζει:
- ✨ Ιδιότητες: Τα δεδομένα του αντικειμένου
- ⚙️ Μεθόδους: Τις ενέργειες που μπορεί να εκτελέσει
- 📋 Συνδέσεις: Γραμμές που δείχνουν το είδος συνεργασίας με άλλα αντικείμενα
Αυτή η απεικόνιση μας δίνει μια ξεκάθαρη εικόνα του τρόπου με τον οποίο τα αντικείμενα συνεργάζονται για να λύσουν το πρόβλημα.
Παράδειγμα: «Αποστολή λουλουδιών» 🌸
Παρακάτω βλέπουμε τη διαγραμματική αναπαράσταση του προβλήματος Αποστολή λουλουδιών. Κάθε αντικείμενο εκπροσωπείται με ένα παραλληλόγραμμο που περιέχει τις ιδιότητες και τις μεθόδους του, και συνδέεται με άλλα αντικείμενα ανάλογα με τη συνεργασία που έχει αναπτυχθεί.
| 📦 Όνομα Αντικειμένου | 🔑 Ιδιότητες | ⚙️ Μεθόδοι |
|---|---|---|
| Μαμά (Πελάτης) | Όνομα: Μαρία | ΚάνειΠαραγγελία() |
| Επώνυμο: Πέτρου | ||
| Διεύθυνση: Λαυρίου 2, Αθήνα | ||
| Γιώργος (Ανθοπώλης) | Επωνυμία: Φλόρα ΕΠΕ | ΔέχεταιΠαραγγελία() |
| Επώνυμο Ιδιοκτήτη: Παπαδόπουλος | ΖητάΣυνεργασία() | |
| Διεύθυνση: Πειραιώς 120, Αθήνα | ||
| Άννα (Πελάτης) | Όνομα: Άννα | ΠαραλαμβάνειΑνθοδέσμη() |
| Επώνυμο: Γεωργίου | ||
| Διεύθυνση: Μονάδα 4, Ρώμη | ||
| Τζοβάνι (Ανθοπώλης) | Επωνυμία: Φλόρι ΟΕ | ΑποδέχεταιΣυνεργασία() |
| Επώνυμο Ιδιοκτήτη: Τζοβάνι | ΑναθέτειΑνθοδέσμη() | |
| Διεύθυνση: Ρόδος 43, Ρώμη | ||
| Αντώνιο (Ανθοδέτης) | Επωνυμία: Κρεατσίνο ΕΠΕ | ΕτοιμάζειΑνθοδέσμη() |
| Επώνυμο Ιδιοκτήτη: Πέτρι | ||
| Πέπε (Ταχυμεταφορέας) | Επωνυμία: Ράντσο ΟΕ | ΠαραδίδειΑνθοδέσμη() |
| Επώνυμο Ιδιοκτήτη: Σαλόνι |
Συνεργασίες 🤝
Οι συνεργασίες μεταξύ των αντικειμένων είναι οι εξής:
- 📦 Παραγγελία: Μαμά → Γιώργος
- 📦 Συνεργασία: Γιώργος → Τζοβάνι
- 📦 Ανάθεση Ανθοδέσμης: Τζοβάνι → Αντώνιο
- 📦 Ανάθεση Παράδοσης: Τζοβάνι → Πέπε
- 📦 Παράδοση: Πέπε → Άννα
Ένα αντικειμενοστραφές πρόγραμμα βασίζεται σε συνεργαζόμενες μονάδες (αντικείμενα) που αλληλεπιδρούν μεταξύ τους για να επιλύσουν ένα πρόβλημα, με κάθε αντικείμενο να φέρει τις δικές του ευθύνες και λειτουργίες.