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

votos
4

Eu quero aprender a criar verdadeiramente 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.

Publicado 09/12/2008 em 18:09
fonte usuário
Em outras línguas...                            


3 respostas

votos
4

Estou ciente de pelo menos um dos recursos casal. Primeiro, há um artigo muito útil no MSDN intitulado Mantenha o seu código em execução com as características de confiabilidade da .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 podem ser úteis incluem "High Availability" "CER" e "Regiões de execução restrita".

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

Respondeu 09/12/2008 em 18:16
fonte usuário

votos
0

Pessoalmente eu encontrei o artigo de Stephen Toub a ser a melhor fonte sobre regiões de execução restrita: Uso dos recursos de confiabilidade do .NET Framework . E no final CER 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 manifesto reativa se você estiver interessado em este padrão e de frente para dados complexos fluxos).

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

Respondeu 29/09/2014 em 21:16
fonte usuário

votos
0

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

De acordo com 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 expulsar um design mais robusto.

Respondeu 09/12/2008 em 18:14
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more