Sobes.tech
Junior — Middle

Μπορείς να εξηγήσεις τα βασικά συστατικά του αρχιτεκτονικού μοτίβου Model-View-Controller;

sobes.tech AI

Απάντηση από AI

Το αρχιτεκτονικό μοτίβο Model-View-Controller (MVC) διαχωρίζει την εφαρμογή σε τρία βασικά συστατικά:

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

  • View (Προβολή): υπεύθυνο για την εμφάνιση των δεδομένων στον χρήστη. Η προβολή λαμβάνει δεδομένα από το μοντέλο και τα εμφανίζει, καθώς και αντιδρά στην εισαγωγή του χρήστη.

  • Controller (Ελεγκτής): λειτουργεί ως μεσάζων μεταξύ του Μοντέλου και της Προβολής. Επεξεργάζεται τις ενέργειες του χρήστη, ενημερώνει το μοντέλο και τροποποιεί την προβολή.

Στην iOS, για παράδειγμα, το UIViewController συχνά παίζει το ρόλο του ελεγκτή, διαχειριζόμενο την αλληλεπίδραση μεταξύ μοντέλου και προβολής.

Παράδειγμα:

class UserModel {
    var name: String
    init(name: String) {
        self.name = name
    }
}

class UserView {
    func displayUserName(_ name: String) {
        print("Το όνομα χρήστη είναι: \(name)")
    }
}

class UserController {
    var model: UserModel
    var view: UserView

    init(model: UserModel, view: UserView) {
        self.model = model
        self.view = view
    }

    func updateUserName(to newName: String) {
        model.name = newName
        view.displayUserName(model.name)
    }
}

Αυτή η διαίρεση διευκολύνει τη συντήρηση και την επέκταση της εφαρμογής.