Un programmatore dovrebbe sempre essere in grado di fare tutto ciò che un utente potrebbe fare? [chiuso]

-2

Un programmatore dovrebbe essere in grado di eseguire tutte le operazioni a livello di programmazione su un oggetto che un utente potrebbe fare?

A titolo di esempio, sto lavorando con un oggetto di selezione lista. Per popolare l'elenco List.AddItem (itemData) viene ripetutamente chiamato fino a quando non viene creato. Un utente può quindi:

  • Visualizza l'intera lista
  • Seleziona un singolo elemento dall'elenco

Tuttavia non esiste un modo programmatico per elencare tutti gli elementi. Né esiste un modo semplice per impostare un elemento come selezionato. Puoi farlo se tieni traccia di ciò che è stato aggiunto alla lista e chiama List.SelectItem (itemData). Ciò significa che dovresti mantenere un elenco indipendente degli elementi separati dall'oggetto, il che potrebbe causare il suo stesso problema (questo bit di bruttezza non è necessario per la domanda, ma parte della motivazione).

In generale, se un utente può ottenere informazioni su un oggetto o eseguire un'azione su un oggetto, questa stessa funzionalità dovrebbe essere disponibile per il programmatore e non essere nascosta? Sospetto che la risposta sia "sì", ma ho riconosciuto che in questo caso sono troppo generoso per cui non sono soddisfatto.

    
posta Rob Mosher 07.02.2013 - 17:21
fonte

1 risposta

3

Quello che stai chiedendo è davvero "il programmatore dovrebbe avere accesso allo stato delle applicazioni?". Direi di sì. La situazione che stai descrivendo non ha una netta separazione tra il modello e la vista della tua applicazione. Nello specifico, lo stato del modello sembra essere racchiuso nel codice della vista.

Con una migliore separazione delle preoccupazioni avresti un modello che conteneva un oggetto lista e una vista che rifletteva quella lista. Potresti quindi modificare l'elenco come hai scelto.

Quindi per rispondere alla tua domanda iniziale, direi SI il programmatore dovrebbe essere in grado di fare qualsiasi cosa l'utente possa fare, perché lo stato completo dell'applicazione dovrebbe essere tenuto nel modello a cui il programmatore ha accesso. L'utente dovrebbe semplicemente interagire con una vista che espone i modi per interagire con il modello a cui uno sviluppatore ha pieno accesso.

    
risposta data 07.02.2013 - 17:34
fonte

Leggi altre domande sui tag