Junior — Middle
Czy możesz wyjaśnić główne komponenty wzorca architektonicznego Model-View-Controller?
sobes.tech AI
Odpowiedź od AI
Wzorzec architektoniczny Model-View-Controller (MVC) dzieli aplikację na trzy główne komponenty:
-
Model: odpowiedzialny za dane i logikę biznesową. Model przechowuje stan aplikacji i zarządza danymi, na przykład ładując je z bazy danych lub API.
-
Widok: odpowiedzialny za wyświetlanie danych użytkownikowi. Widok otrzymuje dane z modelu i je wyświetla, a także reaguje na wejście użytkownika.
-
Kontroler: pełni rolę pośrednika między Modelem a Widokiem. Obsługuje działania użytkownika, aktualizuje model i zmienia widok.
Na przykład w iOS, UIViewController często odgrywa rolę kontrolera, zarządzając interakcją między modelem a widokiem.
Przykład:
class UserModel {
var name: String
init(name: String) {
self.name = name
}
}
class UserView {
func displayUserName(_ name: String) {
print("Nazwa użytkownika to: \(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)
}
}
Taki podział ułatwia utrzymanie i rozbudowę aplikacji.