Kątowy był mniej więcej zgodny z zasadą projektowania MVV * z powodu dwukierunkowej funkcji powiązania danych.Angular2: MVC, MVVM lub MV *?
Angular2 przyjmuje interfejs oparty na komponentach, koncepcję, która może być znana programistom React. W pewnym sensie kontrolery i dyrektywy Angular 1.x zacierają się w nowym składniku Angular 2.
Oznacza to, że w Angular 2 nie ma sterowników ani dyrektyw. Zamiast tego składnik ma selektor odpowiadający znacznikowi html, który będzie reprezentował komponent, oraz @View, aby określić szablon HTML komponentu do wypełnienia.
Angular2 nadal realizuje dwukierunkowe wiązania danych, ale nie składa się z modeli na przykład jeśli mam @Component
który wyświetla listę artykułów i class
, który określa przedmiot artykułu:
class Article {
title: string;
link: string;
votes: number;
constructor(title: string, link: string, votes?: number){
this.title = title;
this.link = link;
this.votes = votes || 0;
}
to, w modelu MVC będzie uważany za model.
Biorąc to pod uwagę, jaki wzorzec projektowania robi Angular
podążać za najbliższym?
Czy można wyjaśnić nieco więcej, dlaczego 'MVVC'? Dziękuję Ci. – Anatoly
Usługa nie jest modelem. Model jest modelem. Zwykle w frameworkach związanych z MVC faktycznie masz 2 typy modeli (1) Model domeny (2) Model, który dostosowuje model domeny do widoku (czasami nazywany ViewModel). – gusgorman
Nie ukrywam, dlaczego ma tak wiele upiorów. Jest po prostu źle na wielu poziomach i jest bezpośrednio w sprzeczności z powyższą odpowiedzią, która jest o wiele dokładniejsza. –