Mvc2 De ce ar trebui minimizat codul din controlere mvc-2

Am auzit puțin despre cum să păstrez codul în controlere cât mai puțin posibil. Unde folosim acest cod?

mvc2

Răspuns:

Depinde de ce cod vorbești. De exemplu, dacă vorbiți despre validare, acest lucru ar trebui să intre în model, dacă vorbiți despre accesul la date, acesta ar trebui să meargă și într-un depozit sau modelul (personal prefer depozitul) dacă vorbiți despre logica de afaceri, deci mergeți la un serviciu tot ceea ce rămâne în controler va numi acest lucru și rezultatul va fi transmis vizualizării.

V-aș recomanda să urmăriți această prezentare video despre cum să vă puneți controlorii pe o dietă Jimmy Bogard.

Cunoașteți controlere subțiri și subțiri? Deci, răspunsul meu este că, dacă puneți o mulțime de linii de cod în controler, codul dvs. va deveni aglomerat și dificil de testat. De fapt, controlerul execută doar acțiunile asociate cu HttpContext curent. Deci, dacă sunteți în logică de afaceri, acces la date, criptare. trebuie să faceți separarea problemei. Motivul pentru care nu utilizați logica de afaceri este din cauza domeniului. Prin urmare, domeniul trebuie delegat pentru procesare. Controlorul trebuie să ia în considerare toate acțiunile legate de HttpContext (sesiune, ViewData, TempData, utilizator în firul curent, resurse globale și locale.) Și delegă toate celelalte acțiuni altor componente: regula generală este modelul de grăsime și controlerul subțire pentru gătitul tortului delicios (phpcake ). Puteți găsi câteva linkuri pentru a vă referi la Controlere Skinny și Fat, aici și aici.