Domanda

Voglio imparare a creare veramente applicazioni robuste in .net - quelle che tollerano i guasti e sono in grado di resistere a situazioni impreviste. Dove posso trovare letteratura / indicazioni su questo argomento? Finora non ho molta fortuna.

È stato utile?

Soluzione

Sono a conoscenza di almeno un paio di risorse. Innanzitutto, c'è un articolo molto utile su MSDN intitolato Mantieni il tuo codice in esecuzione con le funzionalità di affidabilità di .NET Framework .

Chris Brumme ha anche pubblicato un post sull'hosting quando sono state progettate le caratteristiche di affidabilità. Questo può fornire utili informazioni di base

I termini di ricerca che potresti trovare utili includono " Alta disponibilità " & Quot; quot CER &; e " Regioni di esecuzione vincolate " ;.

Buona fortuna! Il codice veramente disponibile è roba piuttosto complicata. :)

Altri suggerimenti

Se stai osservando dal punto di vista dell'implementazione del software, potrebbe valere la pena esaminare Design by Contract ( DBC)

Secondo questa fonte , i vantaggi di Design by Contract includono il seguente:

  • Una migliore comprensione del metodo orientato agli oggetti e, più in generale, della costruzione del software.
  • Un approccio sistematico alla costruzione di sistemi orientati agli oggetti senza errori.
  • Un framework efficace per il debug, i test e, più in generale, la garanzia della qualità.
  • Un metodo per documentare i componenti software.
  • Migliore comprensione e controllo del meccanismo di ereditarietà.
  • Una tecnica per affrontare casi anomali, che porta a un costrutto linguistico sicuro ed efficace per la gestione delle eccezioni.

Inoltre, raccomanderei di esaminare un Test Driven Development (TDD) approccio, che dovrebbe aiutare a scacciare un design più robusto.

Personalmente ho trovato l'articolo di Stephen Toub come la migliore fonte per quanto riguarda le regioni di esecuzione vincolata: Uso delle funzionalità di affidabilità di .NET Framework . E alla fine CER sono il pane e il burro di qualsiasi codice tollerante ai guasti, quindi questo articolo contiene praticamente tutto ciò che devi sapere, spiegato in modo chiaro e conciso.

Detto questo, potresti scegliere di preferire un design più radicale in cui ricorrere immediatamente alla distruzione del dominio dell'applicazione (o dipendere da questo modello quando il CLR è ospitato). Ad esempio, potresti guardare lo schema delle paratie (e forse il manifesto reattivo se sei interessato a questo schema e fronteggiare flussi di dati complessi).

Detto questo, il " lascia che fallisca " l'approccio può ritorcersi contro se non è possibile recuperare completamente dopo quello, come dimostrato da Ariane V .

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