Domanda

Quindi sto programmando di scrivere un'applicazione che sia in gran parte un'applicazione senza finestre. Ci saranno finestre per l'interazione dell'utente, ma solo su richiesta dell'utente. Altrimenti l'applicazione si trova nella barra delle applicazioni ed esegue un timer, eseguendo un po 'di logica ogni minuto o giù di lì. La mia domanda è questa: per quanto posso dire, metterei tutta la logica correlata in App.xaml.cs (avviando il timer, eseguendo la logica ad ogni intervallo), ma per qualche motivo questo mi sembra sbagliato.

L'app avrà un'icona nella barra delle applicazioni con cui gli utenti possono interagire per ottenere dettagli, regolare le impostazioni, ecc., ma per il resto l'app si trova lì e fa quello che fa. È appropriato inserire tutto il codice nel code-behind per la classe App.xaml? Non so perché, ma sembra che non dovrei, e ci dovrebbe essere altrove, ma non riesco davvero a pensare a nulla.

Non ho mai scritto un'app come questa prima, quindi la mia ignoranza. Qualsiasi consiglio sarebbe molto apprezzato. Grazie.

James

È stato utile?

Soluzione

Anche con le applicazioni in cui la maggior parte delle interazioni avviene tramite Windows, di solito è una cattiva idea inserire tutto il codice nel codice. Le interazioni sono spesso avviate gestori di eventi nel codice dietro ma puoi inserire il tuo codice nelle classi che crei tu stesso.

Lo stesso vale per le applicazioni che non mostrano un'interfaccia utente per la maggior parte del tempo. La maggior parte delle azioni verrà avviata da App.xaml.cs ma ciò non significa che tutto il codice debba risiedere lì. Puoi incapsulare i timer nelle loro classi che possono dare il via ad altri codici per fare un lavoro, ad esempio. Dividi il tuo codice lungo linee di responsabilità, una classe di finestra fa cose dell'interfaccia utente, la logica di dominio va in altri file ecc. Ciò ti consentirà di creare applicazioni più gestibili.

Altri suggerimenti

Non sembra che il codice appartenga lì, e al massimo solo una chiamata per avviare i timer. Ciò che sembra perfetto per i tuoi problemi è MV-VM (Modello - Visualizza - ViewModel). Come hai notato, sembrerà anche 'più corretto' che collegare la logica al tuo codice. Usando MVVM puoi separare la tua IU sparsa in una Vista e il tuo codice può esistere separatamente nel Modello e nel ViewModel.

Consiglio di utilizzare il toolkit qui , come contiene anche buoni documenti generali e un campione che puoi digerire mentre crei la tua soluzione. Laurent Bugnion ha anche rilasciato un toolkit di avvio MVVM che potresti utilizzare per iniziare.

Inoltre, qui sono alcune cose utili per iniziare a configurare effettivamente i controlli nella barra delle applicazioni.

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