Sto progettando un sistema, e ha bisogno di espandibilità futura per l'uso di un sistema di autorizzazioni di qualche tipo. Mi chiedo se il modello del peso mosca sarebbe una buona scelta per implementarlo. Al momento non sono responsabile dell'attuazione, in quanto è solo un prototipo e non stiamo prototipando parti che necessitano del sistema giusto. Tuttavia, a causa della richiesta di estensibilità futura per le parti che richiedono la gestione dei permessi, l'interfaccia deve essere solida. Ciò significa che alla fine sarà un esperimento mentale, piuttosto che una parte reale di ciò su cui devo lavorare. Tuttavia, devo essere in grado di spiegare e giustificare il mio design in quest'area dell'applicazione.
A favore dell'uso di sono che è possibile definire i permessi facendoli simboleggiare attraverso una classe di token, come rappresentato nel modello del peso mosca. Se hai a che fare con centinaia di utenti, ciò semplificherebbe in qualche modo la gestione e l'emissione dei diritti che un utente detiene e i diritti richiesti di cui un utente ha bisogno per un'azione all'interno del sistema; così come l'utilizzo della memoria dei diritti assegnati a tutti gli utenti. Nel sistema che ho in mente, un metodo di fabbrica di qualche tipo assegnerà i diritti necessari al momento della costruzione.
Dato che non ho molta esperienza nel progettare pensando alla sicurezza, ho una paranoica linea di pensiero su cui non posso determinare se sia giustificato, per quanto riguarda la sicurezza. Un puntatore condiviso potrebbe essere dirottato da "intrusi malvagi" per ottenere diritti che non dovrebbero ottenere. Questo è il principale argomento contro l'uso di un peso mosca che continua a tormentarmi, anche se il 'come' non è definito, e non saprei come qualcuno lo farebbe. (nessuna esperienza nella mentalità della sicurezza, o nel suo funzionamento.) Tuttavia, non sto cercando una lezione sulla sicurezza oltre l'uso sicuro dei modelli, a meno che non sia motivato e chiaramente correlato alla domanda)
D: Il modello di peso mosca è un modello adatto per gestire la rappresentazione dei diritti di un utente (o altri tipi di dati "a portata di mano") nella progettazione di un sistema software che deve essere protetto dalla progettazione? L'uso di oggetti volanti come rappresentazione di permessi rappresenta più un rischio per la sicurezza rispetto ad altri pattern (potrei usare anche una catena di decoratori per questo, anche se ciò richiederebbe più memoria) quando si tratta di permessi?