logica de afaceri - logica a modelului de domeniu - tot ceea ce se întâmplă în cererea dumneavoastră în ceea ce privește zona subiect.
De exemplu, pe SO - totul de acțiune cu utilizatorii, întrebări, răspunsuri, argumente pro, contra, etc.
În cazul în care utilizatorul nu a tastat reputația ZZZ - trimite-l editează pentru a verifica ceilalți participanți - aceasta este logica de afaceri, locul ei în model.
Redirecționează utilizatorul la o problemă pagină după crearea sa - nu logica de afaceri, care este un loc în controler.
MVC vă permite să selectați un „non-business“ logica asociată cu interfața de utilizator:
- Metoda solicită modelul pentru anumite acțiuni ale utilizatorului
- Controale de afișare / ascundere
- pregătirea datelor care urmează să fie trimise la client.
și așezați logica de prezentare într-o piesă separată a cererii - Controller.
lăsând astfel într-un model de logica „curat“ de afaceri, care nu este legată de interfața cu utilizatorul.
Interacțiunea în MVC modernă arată astfel:
logica de afaceri - la fel ca și logica / domeniului zona de subiect / aplicație. Să presupunem că de programare de software pentru adăpostul de animale și un orfelinat.
Pe logica de afaceri de un adăpost pentru animale, să sigileze, care în această săptămână nu au luat noii proprietari, ar trebui să fie pus să doarmă. Și înainte că este necesar să se hrănească, să bea și stiva de somn.
Pe logica de afaceri a unui orfelinat - un copil să se hrănească, să bea și stiva de somn. Este imposibil să stai o seringă cu o doză letală de morfină.
În acest caz, toate structurile de date, algoritmi, etc. - în două programe sunt practic identice. În afară de acest mic detaliu aici.
„Asta o IFCHIK a decis soarta lui Mike Farley,“ sau, de exemplu, „un vector copil novice programator UCIȘI“
Dacă se amestecă până la adăpost de logica de afaceri pentru animale și adăpost pentru copii, precum și de a adormi un copil și un pisoi dat o păpușă, sper că veți primi în tyuryachku, acolo voi toți vorbesc pentru OEP.
Indiferent de afaceri este, configurația de calcul a moleculelor, adăpost sau de control al navei. Logica de afaceri - aceasta este partea care are în cele din urmă să funcționeze corect și fiabil, ceea ce așteaptă rezultatele clientului (pisoi, copii)
În cazul în care nu se separe, de exemplu, interfața de logica de afaceri, „trimite copiii la parinti noi“ sau „eutanasierea pisicuță“ în loc de apăsarea butoanelor de pe două curat - aproape similară - controlul (interfețe) pe care le va rula înainte și înapoi, încercând să dau seama cine îneca pe cineva să eutanasieze pe cineva pentru a da noi părinți, și de ce nimic nu funcționează.
Nu sunt separați de interfață (panoul de control pentru a începe pisoi pe luna) de logica de afaceri, și toate amestecate.
Ei bine, te-am avertizat.
Utilizați singletons, cozi, baze de date, fișiere plate, mikroservisy - nu este important - este important ca logica de afaceri a funcționat corect.
Prin corect înțeles corectitudinea rezultatelor într-un timp rezonabil. Tot restul clienților nu sunt interesați. Atâta timp cât acestea nu sunt stăpânii voștri.
De aceea puteți vinde foarte rău - din punctul de vedere al programatorului - clienții de software, dar cu greu capabil să se bazeze pe un sistem fiabil. Cerințe de logica de afaceri pot fi îndeplinite, dar este imposibil să se mențină acest cod
P.S. digresiune istorică Mica. Logica de afaceri este numit pentru că în lumea normală, în Imperiul exterior, de programare în comerț și corporații dezvoltat începând cu anii '50 '60: bănci, agenții de asigurări, operatorii de turism, medicina.
Ie veți plăti pentru ceea ce sunt introduse la cerințele unei anumite afaceri
Ei bine, este logica de afaceri, mai degrabă decât logica de partid, la fel ca în Coreea de Nord.
Citește logica de afaceri. cât de simplu logica. Totul.
O separare a UI - atunci înseamnă că în reprezentarea nu ar trebui să fie nici o bază de date lookups, mostre din aceasta, funcțiile auxiliare pentru N-linii, sortarea exemplu subtile, filtrare, structurare a datelor; de criptare a datelor; verifica corectitudinea de conectare / parola și orice manipulare a datelor în exces.
Reprezentarea trebuie să fie afișarea rezultatului final, care va veni ca răspuns la cererea de la clasa de control, precum și orice fel de manipulare (așa cum este descris mai sus), datele (logica) - trebuie să aibă loc în altă parte.