MVC helper funziona in base alla logica di business

0

Sto creando alcune funzioni di supporto (mvc.net) per la creazione di controlli comuni di cui ho bisogno in quasi tutti i progetti, ad esempio caselle di avviso, finestre di dialogo ecc.

Se questi non contengono alcuna logica di business ed è solo un codice lato client (html, js), allora va bene. Il mio problema sorge quando ho bisogno di una logica di business dietro questo helper.

Voglio creare un controllo 'rate my (web) application' che sarà visibile ogni 3 giorni e l'utente potrebbe nasconderlo per ora, navigare per valutare il link o nasconderlo per sempre.

Per fare questo ho bisogno di una sorta di accesso al database e di un codice che funga da logica aziendale. Normalmente userei un controller per questo, con il mio DI e tutto il resto, ma non so dove mettere questo codice ora.

Questo dovrebbe essere posizionato nella funzione helper o in un controller che risponde agli oggetti invece di ActionResults?

    
posta Menelaos Vergis 22.08.2014 - 09:08
fonte

1 risposta

1

Poiché la logica di business per queste componenti helper sarà probabilmente diversa da progetto a progetto, dividerei questi helper in due parti:

  • Una parte che deve essere implementata separatamente da ciascun progetto e che fornisce risposte a domande di logica aziendale come "dovrei mostrare questo controllo".
  • Una seconda parte riutilizzabile che non contiene alcuna logica di business effettiva, ma dipende dalla prima parte per fornire le risposte.

La parte che fornisce la logica di business per il componente helper dovrebbe probabilmente vivere nella parte Model del progetto e il Controller del progetto sarebbe responsabile dell'aggancio dell'helper con la sua logica di business.

    
risposta data 22.08.2014 - 09:23
fonte

Leggi altre domande sui tag