asp.net mvc2: prečo by mal byť kód v radičoch minimalizovaný? - asp.net-mvc-2

Počul som trochu o tom, ako udržať kód v ovládačoch čo najmenej. Kde použijeme tento kód?

kuracie vajcia

Odpoveď:

Závisí to od toho, o akom kóde hovoríte. Napríklad, keď hovoríte o validácii, malo by to ísť do modelu, ak hovoríte o prístupe k dátam, malo by to ísť aj do úložiska, alebo ak hovoríte o obchodnej logike, model (osobne preferujem úložisko) by mal ísť do služby, aby čokoľvek, čo v ovládači zostane, bude túto vec nazývať a výsledok sa prenesie do zobrazenia.

Odporučil by som vám, aby ste si pozreli túto videoprezentáciu pri uvedení vašich ovládačov na diétu Jimmyho Bogarda.

Poznáte tenké a tenké ovládače? Takže moja odpoveď je, že ak do radiča vložíte veľa riadkov kódu, váš kód bude neprehľadný a bude sa ťažko testovať. Ovládač v skutočnosti vykonáva iba akcie spojené s aktuálnym HttpContext. Takže ak sa venujete obchodnej logike, prístupu k dátam, šifrovaniu. musíte urobiť oddelenie problému. Dôvod, prečo nepoužívate obchodnú logiku, je doména. Doménu je preto potrebné delegovať na spracovanie. Ovládač musí brať do úvahy všetky akcie súvisiace s HttpContext (relácia, ViewData, TempData, používateľ v aktuálnom vlákne, globálne a miestne zdroje.) A delegovať všetky ostatné akcie na ďalšie komponenty: základným pravidlom je tučný model a tenký ovládač na prípravu vynikajúcich koláčov (phpcake ). Niektoré odkazy, ktoré sa majú vzťahovať na regulátory chudnutia a tukov, nájdete tu a tu.