Junior — Middle
Ar galite aprašyti, kaip MVC architektūroje sąveikauja modelio, vaizdo ir valdiklio komponentai?
sobes.tech AI
Atsakymas iš AI
MVC (Model-View-Controller) architektūroje komponentai sąveikauja taip:
-
Modelis: atsakingas už duomenis ir verslo logiką. Jis saugo programos būseną ir praneša kontroleriui arba vaizdui apie pakeitimus.
-
Vaizdas: rodo duomenis naudotojui. Jis gauna informaciją iš modelio ir atnaujina save keičiantis.
-
Valdiklis: priima naudotojo įvestį, ją apdoroja, keičia modelį ir nusprendžia, kokį vaizdą parodyti.
Pavyzdys:
- Naudotojas sąveikauja su sąsaja (Vaizdu), pvz., paspaudžia mygtuką.
- Valdiklis gauna įvykį, jį apdoroja ir galbūt keičia duomenis modelyje.
- Modelis atnaujina savo būseną ir praneša Vaizdui apie pakeitimus.
- Vaizdas atnaujina duomenų rodymą.
C# tai gali atrodyti taip:
// Modelis
public class Product {
public string Name { get; set; }
}
// Valdiklis
public class ProductController {
private Product model;
private ProductView view;
public ProductController(Product model, ProductView view) {
this.model = model;
this.view = view;
}
public void SetProductName(string name) {
model.Name = name;
view.Update(model);
}
}
// Vaizdas
public class ProductView {
public void Update(Product model) {
Console.WriteLine("Produkto pavadinimas: " + model.Name);
}
}
Taip MVC paskirsto atsakomybes, kas palengvina programos priežiūrą ir plėtrą.