Skip to main content Link Menu Expand (external link) Document Search Copy Copied

Bounded Contexts

Di seguito sono mostrate le Bounded Context Canvas, ovvero card speciali che mostrano i dettagli di un singolo Bounded Context. Di seguito una piccola leggenda sulle varie classificazioni utilizzate.

Strategic Classification

Importanza del BC sul successo del progetto e dell’organizzazione:

Domain Roles

Di seguito verranno analizzati i ruoli di dominio utilizzati nella stesura delle canvas, l’elenco completo su cui è stato fatto riferimento è presente al seguente link .

Sottodomini

I sottodomini analizzati rispiecchiano gli Emerging Bounded Context già visti in fase di Event Storming, ovvero dal raggruppamento naturale scaturito nell’attaccare i post-it alla lavagna virtuale. Più nello specifico, i sottodomini sono i seguenti, con la relativa classificazione strategia:

Sottodominio Classificazione Strategica
Gestione libri Generic
Gestione utenti Generic
Gestione calendario Supporting
Reminder Engine Core
Zaino intelligente Core
Creazione etichette (TAG) Generic
Fabbricazione zaini Generic
Gestione materiale per lezioni Core
Applicazione mobile Core

Context Map

Dato l’insieme di sottodomini rilevati durante l’analisi, si è proceduto nella stesura della Context Map, in modo da rappresentare effettivamente le comunicazioni esistenti tra i vari sottodomini e i ruoli che essi hanno in queste comunicazioni, le relazioni tra essi determineranno il comportamento del sistema.

Conformists

Tra due BC viene messa una relazione di tipo Conformist quando il primo viene identificato come downstream in quanto opera come customer del servizio offerto dal secondo, adattandosi alle informazioni ricevute da esso che opera in upstream. I Bounded context che hanno questa relazione in questo caso sono i seguenti:

Upstream Downstream
BackpackBoundedContext ReminderEngineBoundedContext
BookBoundedContext MaterialBoundedContext

Anticorruption Layer

In questa relazione troviamo un AntiCorruption Layer sul downstream del Reminder, in quanto non si adatta più ai dati inviati dall’upstream, ma ad un modello custom, la cui traduzione avviene mediante il componente ACL; questo semplifica l’insieme di termini UL da usare all’interno del customer.

Upstream Downstream con ACL
BookBoundedContext ReminderEngineBoundedContext
MaterialBoundedContext ReminderEngineBoundedContext
CalendarBoundedContext ReminderEngineBoundedContext

Open Host Service con Published Language

In questo pattern di relazione il potere viene dato maggiormente al consumer. Il supplier è interessato a proteggere i suoi consumatori, quindi aggiungendo un servizio Open Host che traduce i termini UL del consumer a quelli del supplier, secondo opportuni protocolli detti Published Language, uno per ogni conversione (tra ubiquitous language diversi).

OHS con PL Downstream
UserBoundedContext MaterialBoundedContext
UserBoundedContext CalendarBoundedContext

Bounded Context Canvas