Ho un altro programmatore che sto cercando di spiegare perché è che una componente UI non dovrebbe essere anche una struttura dati.Come spiegare a qualcuno che una struttura dati non dovrebbe disegnare da sola, spiegando la separazione delle preoccupazioni?
Ad esempio, diciamo che si ottiene una struttura dati che contiene un set di record dal "database" e si desidera visualizzare tale record in un componente dell'interfaccia utente all'interno dell'applicazione.
Secondo questo programmatore (che rimarrà senza nome, è giovane e gli sto insegnando ...), dovremmo sottoclassi la struttura dei dati in una classe che disegnerà la componente dell'interfaccia utente all'interno della nostra applicazione !!!! !!
E quindi in base a questa logica, il set di record dovrebbe gestire il disegno dell'interfaccia utente.
****** Responsabile Desk *****
so che chiedere un record-set per disegnare in se è sbagliato, perché, se si desidera rendere la stessa struttura di dati su più di un tipo di componente sulla tua interfaccia utente, avrai un vero casino sulle tue mani; dovrai estendere un'altra classe per ciascun componente dell'interfaccia utente che esegui il rendering dalla classe base del tuo set di record;
Sono ben consapevole della "pulizia" del pattern MVC (e con ciò intendo dire che non confondete i vostri dati (il Modello) con l'interfaccia utente (la vista) o le azioni che si svolgono sui dati (il controller più o meno ... okay, in realtà l'API non dovrebbe davvero gestirlo ... e il controller dovrebbe fare solo il minor numero di chiamate ad esso che può, indicandogli quale vista visualizzare)) Ma è sicuramente molto più pulito rispetto all'utilizzo di strutture dati per il rendering dei componenti dell'interfaccia utente!
C'è qualche altro consiglio che potrei spedire a parte l'esempio sopra? Capisco che quando si impara OOP per la prima volta si passa attraverso "un palcoscenico" in cui si desidera solo estendere tutto.
Seguito da una fase in cui si pensa che i modelli di progettazione sono la soluzione di ogni singolo problema ... che non è del tutto corretto ... thanks Jeff.
Esiste un modo per spingere delicatamente questo ragazzo nella giusta direzione? Avete altri esempi che potrebbero aiutare a spiegare il mio punto a lui?
E per funzionale si intende l'interazione con i dati con l'interfaccia utente e l'essere non funzionale; solo un contenitore per i dati, come il set di risultati ... giusto? – leeand00
Funzionale come in "cosa fa qualcosa", non funzionale come in "come sembra qualcosa". In MVC, il "che cosa fa qualcosa" è il modello e "il modo in cui qualcosa sembra" è la visualizzazione del modello, la vista. –