Sto scrivendo una piccola applicazione desktop Java e sto usando un pattern MVC. Ho letto su come la logica dovrebbe essere mantenuta nel modello, ma ci sono alcuni punti in cui la logica deve essere applicata, ma è completamente correlata a come funziona la GUI. Ho anche letto che i livelli dovrebbero essere progettati per consentire una vista "collegabile", nel senso che se si volesse trasformare l'app in un'app a linea di comando, si dovrebbe comunque essere in grado di utilizzare lo stesso modello con problemi minimi.Quanta logica GUI è troppo in MVC?
Nella mia app, un'immagine viene visualizzata in un riquadro di uno splitpane. C'è anche una casella di controllo che determina se l'immagine viene ridimensionata o meno dinamicamente mentre l'utente ridimensiona il riquadro. Mi sento come se avessi due possibili soluzioni:
Quando l'utente fa clic sulla casella di controllo, il valore viene memorizzato nel modello . Ogni volta che il riquadro viene ridimensionato, tale valore verrà verificato per verificare se l'immagine deve essere ridimensionata.
Poiché l'opzione riguarda solo come le funzioni GUI, non importunerebbe memorizzazione del valore nel modello, e sarebbe verificare la casella direttamente sul ridimensionamento del riquadro.
Questo è un esempio un po 'tonico, ma illustra il mio problema. Sto prendendo la separazione della logica troppo da un estremo qui?