Κυριακή, 8 Οκτωβρίου 2017

Observer Design Pattern



Στο Observer pattern αυτό που θέλουμε να πετύχουμε είναι η ενημέρωση κάποιων αντικειμένων (observers) όταν αλλάζει η κατάσταση ενός αντικειμένου (subject).  Πιο αναλυτικά αν υποθέσουμε πως έχουμε έναν μετεωρολογικό σταθμό τον οποίο τα 7 κανάλια της τηλεόρασης συμβουλευονται για να δείχνουν στην οθόνη την θερμοκρασία.

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

Με το Observer ο μετεωρολογικός έχει μια λίστα με subscribers που τους ενδιαφέρει να ξέρουν πότε άλλαξε η θερμοκρασία. Όταν λοιπόν συμβεί μια αλλαγή ο σταθμός θα ενημερώσει όλα τα κανάλια που είναι subscribed με την σχετική αλλαγή.





Δεν υπάρχουν σχόλια:

Δημοσίευση σχολίου