Attualmente sto lavorando a un'implementazione basata su un insieme di configurazioni utente che dovrebbe emettere una decisione definitiva. Le configurazioni multiple vengono valutate più volte in diverse fasi dell'esecuzione.
Esempio: diciamo che sto costruendo un sistema che pianifica la vacanza perfetta per un utente. L'oggetto Utente è l'input del sistema e ogni utente ha diverse proprietà, come sesso, posizione, altezza, età, ecc. Viene valutata una serie iniziale di proprietà dell'utente. Ad esempio, voglio inviare un utente in una vacanza distante almeno 100 miglia da dove vive. Dopo che questa condizione è stata valutata, introduco la variabile age e restringo l'insieme dei possibili risultati e così via ...
In questo momento, il sistema è un insieme sequenziale di condizioni molto semplice da comprendere e eseguire il debug, ma il sistema sta crescendo e così anche il numero di condizioni. Mi piacerebbe refactoring rendendolo più testabile e più facile aggiungere condizioni extra senza introdurre regressioni.
Ho esaminato diversi modi per raggiungere questo obiettivo, in particolare, se risolverlo utilizzando una struttura decisionale o una macchina a stati, ma non sono ancora convinto che una di queste sia la soluzione migliore.
Che cosa consiglieresti in questo caso?