Redundância, confiabilidade e tolerância a falhas em C # - onde procurar exemplos?

StackOverflow https://stackoverflow.com/questions/353519

  •  20-08-2019
  •  | 
  •  

Pergunta

Eu quero aprender como criar realmente aplicações robustas em .net - aqueles que são tolerantes a falhas e são capazes de resistir a situações inesperadas. Onde posso encontrar literatura / orientações sobre este assunto? Até agora, eu não estou tendo muita sorte.

Foi útil?

Solução

Estou ciente de pelo menos um dos recursos casal. Primeiro, há um artigo muito útil no MSDN intitulado manter seu código Correndo com os Recursos de confiabilidade do .NET Framework.

Chris Brumme também tinha um post sobre hospedagem quando os recursos de confiabilidade foram sendo projetado. Isto pode fornecer algumas informações úteis

Termos de pesquisa que você pode achar úteis incluem "High Availability" "CER" e "Regiões de execução restrita".

Boa sorte! Verdadeiramente código disponível é coisa muito complicada. :)

Outras dicas

Se você está à procura de uma perspectiva de implementação de software, então pode valer a pena olhar para Design by Contract ( DbC)

De acordo com a esta fonte , os benefícios da programação por contrato incluem o seguinte:

  • Uma melhor compreensão do método orientado a objetos e, mais geralmente, de construção de software.
  • Uma abordagem sistemática para a construção de sistemas orientados a objetos livre de bugs.
  • Um quadro eficaz para depuração, testes e, mais geralmente, garantia de qualidade.
  • Um método para documentar componentes de software.
  • melhor compreensão e controlo do mecanismo de herança.
  • Uma técnica para lidar com casos anormais, levando a uma construção da linguagem seguro e eficaz para o tratamento de exceção.

Além disso, eu defendo olhando para um Test Driven Development (TDD) abordagem, que deve ajudar a unidade para fora um design mais robusto.

Pessoalmente eu encontrei o artigo de Stephen Toub a ser a melhor fonte sobre regiões de execução restrita: Usando a Confiabilidade Características da .NET Framework. E no CER final são o pão ea manteiga de qualquer código tolerante a falhas de modo que este artigo contém praticamente tudo que você precisa saber, explicou de forma clara e concisa.

Dito isto, você poderia, em vez optar por favorecer um design mais radical onde recorrer imediatamente à destruição do domínio da aplicação (ou dependem esse padrão quando o CLR está hospedado). Você pode olhar para o padrão antepara por exemplo (e talvez o reativa manifesto se você estiver interessado em este padrão e enfrentando dados complexos fluxos).

Dito isto, a "deixá-lo fracassar" abordagem pode sair pela culatra se você não pode recuperar completamente depois disso, como demonstrada por Ariane V .

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top