Junior — Middle
Πώς μπορεί να ειδοποιηθεί το View για γεγονότα ή αλλαγές στην αρχιτεκτονική MVP;
sobes.tech AI
Απάντηση από AI
Στην αρχιτεκτονική MVP (Model-View-Presenter), το View ενημερώνεται για γεγονότα ή αλλαγές μέσω μιας διεπαφής που υλοποιεί το View και καλεί τον Presenter. Οι κύριοι τρόποι ειδοποίησης:
- Callbacks: Ο Presenter καλεί τις μεθόδους της διεπαφής View για να ενημερώσει για αλλαγές.
- Παρατηρητής (Observer): Το View εγγράφεται στα γεγονότα του Presenter και λαμβάνει ειδοποιήσεις.
- Χρήση LiveData ή RxJava (στο Android): Ο Presenter ενημερώνει τα δεδομένα, και το View εγγράφεται στις αλλαγές και αντιδρά αυτόματα.
Παράδειγμα με διεπαφή View:
interface MyView {
fun showData(data: String)
fun showError(message: String)
}
class MyPresenter(private val view: MyView) {
fun loadData() {
// φόρτωση δεδομένων
val data = "Παράδειγμα δεδομένων"
view.showData(data) // ειδοποίηση View
}
}
Έτσι, ο Presenter ελέγχει τη λογική και ειδοποιεί το View μέσω των μεθόδων της διεπαφής.