Una struttura amministrativa è un contesto limitato a se stante?

2

Supponiamo di avere un'applicazione DDD con tre contesti limitati, ad esempio vendite, produzione e marketing.

Dire che volevo installare una funzione di amministrazione. La funzione di amministrazione consentirebbe ai superutenti di modificare i dati nelle tabelle utilizzate da: SalesRepository; ProductionRepository e MarketingRepository.

In che modo la struttura amministrativa può estrarre informazioni dal database:

Opzione 1) Utilizza i tre repository, ad esempio, SalesRepository; ProductionRepository e MarketingRepository

Opzione 2) L'amministrazione verrebbe considerata come un contesto limitato e dotata di un proprio repository. Questo potrebbe essere un repository generico poiché il contesto limitato contiene solo operazioni CRUD, cioè non esiste una logica di dominio.

In particolare, sto chiedendo se un semplice impianto di amministrazione debba essere trattato come un contesto limitato. Non sto chiedendo: "che cos'è un contesto limitato?".

    
posta w0051977 01.09.2017 - 19:26
fonte

1 risposta

0

Da quanto ho capito del tuo dominio, devi (creare se non esiste e) utilizzare un authorization bounded context ( AuthBC ) che gestirà il diritto di accesso all'altro BCs .

Se administrators (utenti che hanno tutti i privilegi / permessi nel sistema) hanno bisogno di qualche nuova funzione che non esiste ancora in BCs , per esempio a postpone a sale , quindi quella funzione verrà aggiunto come al solito ma l'accesso ad esso sarà limitato solo agli amministratori (in effetti è possibile limitarlo agli utenti che hanno il privilegio chiamato CAN_POSTPONE_A_SALE ma questo dipende dall'interno di AuthBC ). Questo vale anche per le query, poiché saranno protette dallo stesso AuthBC .

Se ti chiedi come integrare il AuthBC con l'altro BCs : puoi farlo in Application layer , in Application services ; prima di eseguire la funzione dominio, il servizio chiama un application service da AuthBC e chiede se l'utente corrente può eseguire un'azione identificata ad esempio da una stringa. Tieni presente che questo riferimento alla AuthBC non dovrebbe essere eseguito da un aggregate o in un domain service , solo da un application service ; in qualsiasi livello di dominio è necessario disporre di codice che controlli solo quelli specifici.

BCs = contesti limitati

    
risposta data 02.09.2017 - 09:41
fonte

Leggi altre domande sui tag