Sto sviluppando un'applicazione in cui legge i dati da diverse origini dati. E poi quei dati dovrebbero essere pre-elaborati e quindi passare attraverso una serie di passaggi (filtri?) In cui tali dati verranno elaborati e aumentati. Infine, questi dati dovrebbero essere scritti in un database comune.
Sto pensando a un tipo di stile Pipe and Filter per implementarlo. Mentre sto imparando su questo, mi sono imbattuto in questi invarianti di questo stile [qui] .
Independent entities
---- Do not share state
---- Have no knowledge of other filters
Transformation
---- Incremental
---- Not dependent on order in the chain
E ho problemi a capirli. Perché quelli sono considerati come invarianti. ?
Che succede se condividono lo stato.
cosa succede se hanno una conoscenza di altri filtri.
Cosa succede se hanno bisogno di dipendere da altri filtri (nel mio caso un pre-processo è d'obbligo) e cosa è incrementale.
Poiché so che violare gli invarianti potrebbe erodere il codice con il tempo. Quindi, se uso lo stile Pipe e Filter nella mia app, che tipo di cose violerà questi invarianti o quali sono le cose che posso fare per violare questi invarianti?
Qualcuno può aiutarmi su questo.