"Does Write include Read"...
Questa domanda può essere divisa in due parti.
Progettazione domini
I tuoi stakeholder devono decidere i privilegi esternamente visibili dal dominio e dalla prospettiva di business. Questi sono i privilegi che vedranno i tuoi clienti e quelli di cui il tuo staff di supporto parlerà con i clienti. Queste sono decisioni aziendali e di dominio, decisioni non programmatore .
(L'azienda può scegliere che la Scrittura implichi anche la Lettura - sebbene ci siano casi validi in cui ciò non è necessariamente vero).
Implementazione interna
I programmatori che implementano il sistema devono decidere la granularità dei privilegi che vogliono vedere e testare all'interno del codice. Questo può benissimo separare Read from Write anche se l'azienda sceglie che per quanto riguarda i privilegi articolati esternamente Write include Read.
Quello che vogliamo fare è mappare in modo pulito la nozione di business del privilegio alla rappresentazione interna, in particolare, in modo che questo sia DRY (si verifica in un solo posto nel codice sorgente). Questo, quindi, non presuppone che la scrittura includa la lettura in vari luoghi sparsi nell'implementazione.