Situazione teorica:
Un trilione di foobar sono memorizzati in un file di testo (nessun database di fantasia). Su ogni foobar deve essere eseguita una logica di business. Un set di 1 trilione non si adatta alla memoria, quindi il livello dati non può restituire un grande set al livello aziendale. Invece devono essere trasmessi in streaming in 1 fobob alla volta e devono eseguire la logica aziendale su 1 fobob alla volta. Il flusso deve essere chiuso al termine.
Affinché lo stream venga chiuso, il livello aziendale deve chiudere il flusso (un dettaglio dell'operazione dati), violando così la separazione delle preoccupazioni.
È possibile elaborare in modo incrementale i dati senza violare i livelli?