Considera di voler implementare un semplice gioco di dama. Ci sarebbe una tavola da gioco rettangolare e il giocatore sarebbe in grado di spostare i pezzi in base a un particolare insieme di regole.
I principi generali di buon design suggeriscono di disaccoppiare la visualizzazione del gioco dai suoi dati e dalla sua logica.
Cioè, la visualizzazione del tabellone di gioco e la possibilità di fare clic e spostare oggetti in giro sarebbero disaccoppiati dalla reale rappresentazione di un tabellone di gioco in memoria. I dati in memoria non sanno cosa visualizzarli.
Ora parliamo di JavaScript in particolare. JavaScript è un linguaggio progettato principalmente per essere utilizzato come un leggero linguaggio lato client. (Lo so, JS è cresciuto ben oltre il suo originale utilizzo previsto, ma è ancora generalmente considerato e usato come quello che ho descritto). Tutto ciò che JavaScript fa sul lato client è manipolare Html e Css.
Questo significa che, per sua natura, JavaScript è molto accoppiato con Html e Css; la GUI. Questa è la natura.
Quindi la mia domanda è: quando si progetta un'app JavaScript sul lato client, quanto si deve accoppiare in modo approssimativo la logica e i dati aziendali e l'interfaccia utente?
Devo fare uno sforzo per separare completamente il display e la logica, come avrei fatto in un esempio, ad es. un'app C #? Oppure è accettabile in JavaScript consentire una certa quantità di accoppiamento tra logica e display?