Domanda

Qual è il modo migliore per scrivere il codice?

(1) Come scrivere direttamente il codice nell'evento button_click().

o

(2) Effettuare la funzione di quel codice che scrivo in caso button_click() e scrivere questa funzione in una classe e poi quella funzione dovrei chiamare in button_Click() event.Like si chiama three-tier approach di scrivere il codice?

Come nel caso button_Click() ho scrivere il codice per salvare i record in csv file from datatable.So avrei dovuto scrivere che il codice in caso button_Click() o io dovrebbe fare una nuova funzione ed una nuova classe e scrivere che il codice in quella funzione, che è la nuova classe e chiamare quella funzione nel caso in button_Click().

Questo è solo un esempio, ma Sto parlando di tutto il codice scritto nella mia applicazione ciò che è il appropriate and best way to write the code e quali sono i vantaggi? Nota che scrivo il codice in WinForms con C #.

È stato utile?

Soluzione

Si dovrebbe andare per la funzione separata in una classe diversa. Si dovrebbe farlo perché ti rendono il codice riutilizzabile e creare una separazione decente tra l'interfaccia utente e la logica dell'applicazione. In questo modo, si potrebbe ad esempio cambiare l'interfaccia utente senza influenzare il resto dell'applicazione.

Anche dare un'occhiata a pattern MVC , capirete meglio l'idea.

L'unica situazione in cui penso che la prima opzione deve essere utilizzato è quando si fa una certa azione che interesserà l'interfaccia utente, ed ancora creerò questo in una funzione separata all'interno della classe Form.

Se si sta interessando l'interfaccia utente, dovrebbe essere nella stessa classe perché è legato e, per esempio, se si tratta di un codice per aggiornare una griglia mi metterò questo in un metodo separato all'interno della stessa classe Form, perché questo potrebbe essere utilizzato in luoghi diversi al suo interno. Quindi cambiare l'interfaccia utente non ha alcun impatto sulla domanda, basta rendere il codice riutilizzabile e mantenibile.

Altri suggerimenti

Tutto dipende dalla situazione.

Se avete intenzione di fare gli aggiornamenti per il modulo, allora è meglio avere il codice aggiornamento nel modulo. Tuttavia, se ci sono un sacco di trattamento, allora sicuramente è meglio progettazione a una maniglia classe separata di lavoro.

Tutto dipende dalla situazione.

In generale, non si vuole alcuna logica nel gestore di eventi, dal momento che le GUI tendono a fornire meccanismi ridondanti (menu di contesto, barra dei menu, barra degli strumenti, tasto di scelta rapida) per innescare lo stesso comando, e le firme degli eventi non sono compatibili per tutti questi. Allora la domanda diventa se la funzione comune dovrebbe andare nella classe Form o nel modello di dati.

Mi capita spesso di iniziare con la logica nella forma e quindi refactoring in classi del modello in base alle esigenze. Molte piccole applicazioni saranno mai abbastanza grande che più classi sono necessari per la manutenibilità. Finché si evita la duplicazione del codice (cioè copia + incolla) poi il refactoring sarà semplice seguito, se si scopre che è necessario esso.

E 'sempre bene a sviluppare le classi per i lavori. Come rende il vostro riutilizzabili codice e implementare anche tre livelli di Architettura. Il vantaggio è che è facile da capire.
La cosa importante è che, è utile solo se si sviluppano le classi in modo appropriato. Sviluppare metodi della classe che può essere riutilizzabile per voi.
L'altro vantaggio è che nasconde la complessità del codice.

Ci sono due approcci generali per l'aggiunta di struttura in codice: giù in alto e in basso fino. Top struttura verso il basso viene dal lavoro di progettazione in grado di coinvolgere un processo formale o informale e manufatti di puro design, come diagrammi UML o specifiche funzionali. L'obiettivo finale in un top-down processo è quello di creare classi e interfacce nel codice in grado di fornire una struttura adeguata per rendere il codice mantenibile. Ciò può accadere prima di scrivere il codice, o come parte di un'iterazione, ma l'idea è che si creare la struttura di prima, quindi creare il codice.

In basso la struttura fino proviene da refactoring. Ad esempio, avviare con tutta la tua logica in un clic del pulsante. Quando si aggiunge una voce di menu che fa la stessa cosa come il pulsante di scatto, spostare il codice per la funzione di clic tasto in una funzione membro privata sul modulo. Quando avete bisogno le stesse caratteristiche in una parte diversa della domanda, incapsulare le variabili di codice e statali utilizzati dal funzione membro privata in una classe.

Mi consiglia di utilizzare entrambi gli approcci. Il mix giusto per la vostra situazione dipende dal team di sviluppo (dimensione, posizione, capacità di comunicare) e la dimensione della vostra applicazione. In generale, le grandi applicazioni richiedono più alto verso il basso, e molto piccole applicazioni una quantità minima di top-down design è adeguata. Ma ci deve essere sempre un po 'di pianificazione di alto livello, anche per una piccola applicazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top