Termine

Bounded context

Info

Scritto originalmente in francese. Tradotto dall'IA — il significato è stato preservato, non la prosa.

Definizione breve

Perimetro all'interno del quale un insieme di termini ha un significato univoco e una verità locale, e al cui confine ogni informazione proveniente da altrove viene tradotta prima di entrare.

Definizione dettagliata

Il termine viene dal Domain-Driven Design, dove indica il limite di validità di un modello di dominio. Una stessa parola — «cliente», «ferie», «ordine» — vi riceve una definizione che vale solo in quel perimetro; un altro bounded context può usare la stessa parola per altro, ed è ammesso. È il confine a rendere compatibili le due definizioni: ciascuna resta coerente a casa propria.

Negli articoli di questo blog il termine è ripreso fuori dal codice, per lo spazio di lavoro di un'opportunità di prodotto: una directory, i suoi file, il suo vocabolario, i suoi fatti acquisiti, le sue decisioni. Ciò che viene da un altro argomento vi è copiato e riformulato nei termini dell'opportunità, mai collegato dinamicamente alla fonte. Il senso del termine è lo stesso che nello sviluppo; cambia solo l'oggetto delimitato — là un dominio di business, qui un perimetro di studio.

Uso nel dominio

Il termine entra in gioco ogni volta che si deve decidere che cosa uno spazio di lavoro contiene e che cosa esclude: dimensionamento di un contesto affidato a un'IA, suddivisione dello studio di un'opportunità, architettura di una base di conoscenza di team, integrazione tra due sistemi.

Sinonimi e varianti

«Contesto delimitato», «contesto circoscritto», «spazio delimitato». Negli articoli di questo blog, «contesto» usato da solo indica il più delle volte la nozione vicina di scopo di lavoro, non questo perimetro di modello.

Da non confondere con

  • Contesto — il perimetro di informazioni mobilitato per un dato scopo di lavoro, che può attraversare più applicazioni e più domini. Il bounded context, invece, delimita un modello e il suo vocabolario.
  • Finestra di contesto — la quantità di testo che un modello linguistico ha effettivamente sotto gli occhi per rispondere. È un vincolo di capacità, non un confine di significato.
  • Secondo cervello — sistema che collega l'insieme delle note senza confini interni; è la forma di organizzazione a cui il bounded context si contrappone.
  • Silo — separazione subita che impedisce la circolazione. Il bounded context, al contrario, organizza questa circolazione, con una traduzione al confine.

Esempi

Un sistema di paghe che ha bisogno delle ferie del mese non interroga il sistema di gestione delle ferie: integra quelle ferie nel proprio dominio «variabili di pagamento», nella forma che la busta paga sa trattare.

Un'opportunità di prodotto studiata in una directory dedicata di trenta-quaranta file, in cui ogni informazione esterna viene ricopiata e adattata al vocabolario dell'opportunità.

Ambiguità / dibattiti

L'uso del termine fuori dal software è contestato: nel Domain-Driven Design il bounded context delimita un modello condiviso da un team, non una cartella di lavoro individuale. La ripresa che se ne fa qui conserva il principio del confine e della traduzione, e lascia da parte l'apparato di modellazione che di solito lo accompagna.