Ho una domanda filosofica sul pattern MVP: ho un componente che controlla se un utente ha accesso a un determinato privilegio. Questo privilegio attiva o disattiva alcune funzionalità dell'interfaccia utente. Ad esempio, supponiamo di avere una griglia di interfaccia utente e, per ogni riga vincolata, eseguo un controllo di sicurezza per verificare se alcune funzionalità della griglia devono essere abilitate o disabilitate.
Ci sono due modi per farlo: l'interfaccia utente / vista chiama il metodo del componente, determina se ha accesso e abilita / disabilita o mostra / nascondi. L'altro è che la vista attivi un evento per il presentatore, fa fare il checker al relatore e restituisce l'accesso alla vista attraverso il modello o attraverso l'evento arg.
Come per lo schema MVP, a quale componente devono essere inseriti i controlli di sicurezza, il presentatore o la vista? Dal momento che la vista lo sta usando per determinare la sua accessibilità, sembra più appropriato nella vista, ma sta facendo controlli sul database e tutti all'interno di questo componente aziendale, e lì c'è la logica aziendale, quindi posso vedere anche l'argomento inverso. p>
Pensieri?