Care este avantajul MVC - deversorul stivă în limba rusă

MVC - Conceput pentru unul pentru a aduce la diferitele straturi ale logicii de aplicare și faptul că cel mai bine este de a apela activ.

Dar, mai presus de toate, trebuie să abordeze rădăcinile și să înțeleagă zona în care această paradigmă sau mai des, spune multipatterns a fost hrănit.

Conceptul a fost descris de Trygve Reenskaugom în 1979 pentru limba Smalltalk.

Smalltalk este o limbă în care scrie și server și client, nu are separarea la client (cum ar fi HTML. Css. Js) și server (PHP. Python. Ruby). Trebuie să ne imaginăm că, pentru a crea un buton trebuie să creați un singur obiect. Și ce este cheia? Această imagine și logica de piei de schimbare și evenimente. Și toate acestea este încapsulat în cheia de obiect. E ca astazi html. css. js luate împreună.

Deci, atunci când se spune că MVC separă logica, aceasta nu este din cauza butonului Cufundat divide, ceea ce înseamnă separarea componentelor și aceste componente ale logicii de control. adică MVC în sursa inițială, regula de aplicare, nu componenta.

Dar timpul ne arată cum nu înțelege cuvintele unui om care scrie pe Smalltalk. programatorii au învățat să se împartă în toate sale constitutive, inclusiv componente. Bine sau rău, este greu de spus. Astăzi, vorbind despre aplicația client-server, presupunem MVC sau mvvm pe client și pe serverul MVP-ul, dar sursa principală a conceptului de client nu a fost, a fost o idee. imaginați-vă că browser-ul este o idee, iar serverul este un model. După cum ar fi greu de spus, doar ceea ce se poate ghici astăzi că aplicarea acestor ani și de astăzi diferă. Ei bine, ce aplicații au fost în anii '60? Matematică și, probabil, din nou matematica, browsere, probabil, nici măcar nu au.

Deci, revenind la MVC. Principalul beneficiu din strategia sa economică. Aceasta este de a crea aplicații care va evolua și pe care vor fi create părți ale cererii în viitor. La urma urmei, cererile de astăzi pentru cea mai mare parte scrisă pentru o anumită sarcină. Ia un site obișnuit, sa scris și uitat, nu există nici o șansă ca va refactor. Sau, pentru a lua un astfel de joc mare, în cazul în care inteligența artificială este folosit de la un joc la altul.

Sau amintesc regula că logica de aplicare trebuie să fie în model. și nu există nici o regulă transparentă că jocul sau orice aplicație este modelul. În acest caz, modelul este întotdeauna aceeași și schimba numai punctul de vedere. În cea mai bună tradiție a unui model care poate funcționa pe deplin fără celelalte elemente. așa că am putea scrie o bătălie navală pentru 2D și 3D și de a salva pe programatori.

Toate celelalte avantaje din această paradigmă nu este și nici măcar nu a pus.

Și finisaj care merită MVC nu ultimul pinten - nu este un singur design arhitectural monolit. Această paradigmă, așa cum am spus mai devreme, este partea de conectare, și este absolut indiferentă care se leagă. Aceasta nu este o casa, acesta este aplicația cadru. Și pereți și tavan, puteți utiliza orice doriți, precum și MVC mai mici.

@Cerbo, dar, de fapt, ele nu sunt, de asemenea. Un fraymvorki nu se dezvoltă în direcția componentelor? În REACT - componentele de la angulyara 1 și 2 - componente prea. trecere nu este suficient timp înainte de a vă va înțelege de ce arhitectura aplicațiilor client și server nu sunt la fel de buna ca a promis carte. Vorba e că în clientul original, a fost doar o performanță, și modelul de server. Adică, dacă o singură propoziție. O componentă web, real, nativ, mai mult ca pe un singur browser sunt susținute și nu este în măsură deplină. - OlmerDale 09 octombrie '16, la 21:05

Tu și am componente, probabil diferite. Ideea componentelor de cod a trebuit să re-utilizare (ca întotdeauna, deși), adică, ideologii spun literalmente - că ați făcut componentă a rezolvat problema, și apoi la o altă locație „inserat“, fără a schimba toate problema este rezolvată. Deci, sa dovedit că într-un alt loc componente „inserate“ cu mare dificultate! Pentru că în altă parte pentru a rezolva alte probleme și alt mediu acolo. - Cerbo 09 octombrie '16, la 21:24

Se pare că această componentă „pastă“, într-un alt loc ar trebui să fie în prealabil în acest loc este proiectat și implementat. Dar, astfel, ne întoarcem la bibliotecă / freymverkam - acestea sunt solutia potrivita. Componentele aluneca periodic, dar nu pentru că ideea lor este bună, ci pentru că este vorba de o sarcină ușoară. - Cerbo 09 octombrie '16, la 21:24