Scritto originalmente in francese. Tradotto dall'IA — il significato è stato preservato, non la prosa.
Definizione breve
Regola di business vera in tutti gli stati di un oggetto, qualunque siano le operazioni che subisce.
Definizione dettagliata
In informatica, un invariante è una condizione che un programma mantiene vera in determinati punti della sua esecuzione. Negli articoli di questo blog il termine indica una regola del business enunciata in una frase su un oggetto del dominio — una fattura, una nota di credito, un ordine — e registrata nell'ontologia, indipendentemente dal codice che la fa rispettare.
Uso nel dominio
Scrittura di un'ontologia di business, derivazione di test automatizzati a partire da regole, controllo di coerenza del codice prodotto da un agente.
Sinonimi e varianti
Regola sempre vera, vincolo di business.
Da non confondere con
- Regola di gestione condizionale — regola che vale solo in certi casi o in certi stati; l'invariante vale in tutti.
- Test — verifica eseguibile di un comportamento; un invariante può produrne uno, ma esiste anche senza.
Esempi
Una fattura convalidata non può più essere modificata. Una fattura ha almeno una riga. Una nota di credito fa riferimento alla fattura che corregge. Un ordine annullato non può essere spedito.
Ambiguità / dibattiti
Il confine tra invariante e regola condizionale dipende da come si suddividono gli stati: «una fattura convalidata non può più essere modificata» è condizionale sulla fattura, ma invariante sullo stato «convalidata».