Pregunta

Quiero aprender cómo crear aplicaciones verdaderamente robustas en .net, tolerantes a fallas y capaces de soportar situaciones inesperadas. ¿Dónde puedo encontrar literatura / orientación sobre este tema? Hasta ahora, no tengo mucha suerte.

¿Fue útil?

Solución

Soy consciente de al menos un par de recursos. Primero, hay un artículo muy útil sobre MSDN titulado Mantenga su código en funcionamiento con las características de confiabilidad del .NET Framework .

Chris Brumme también tuvo una publicación en hosting cuando se diseñaron las características de confiabilidad. Esto puede proporcionar información de fondo útil

Los términos de búsqueda que puede encontrar útiles incluyen " Alta disponibilidad " " CER " y " Regiones de ejecución restringidas " ;.

¡Buena suerte! El código verdaderamente disponible es bastante complicado. :)

Otros consejos

Si está buscando desde una perspectiva de implementación de software, puede valer la pena mirar Diseño por contrato ( DbC)

De acuerdo con esta fuente , los beneficios de Design by Contract incluyen lo siguiente:

  • Una mejor comprensión del método orientado a objetos y, más en general, de la construcción de software.
  • Un enfoque sistemático para construir sistemas orientados a objetos libres de errores.
  • Un marco efectivo para la depuración, prueba y, en general, garantía de calidad.
  • Un método para documentar componentes de software.
  • Mejor comprensión y control del mecanismo de herencia.
  • Una técnica para tratar casos anormales, que conduce a una construcción de lenguaje segura y efectiva para el manejo de excepciones.

Además, recomendaría buscar un Desarrollo impulsado por pruebas (TDD) enfoque, que debería ayudar a sacar un diseño más robusto.

Personalmente, encontré que el artículo de Stephen Toub es la mejor fuente con respecto a las regiones de ejecución restringida: Uso de las características de confiabilidad de .NET Framework . Y al final, los CER son la base de cualquier código tolerante a fallas, por lo que este artículo contiene casi todo lo que necesita saber, explicado de manera clara y concisa.

Dicho esto, podría preferir favorecer un diseño más radical en el que recurra inmediatamente a la destrucción del dominio de la aplicación (o dependa de este patrón cuando se aloja el CLR). Puede ver el patrón de mamparo, por ejemplo (y tal vez el manifiesto reactivo si está interesado en este patrón y frente a flujos de datos complejos).

Dicho esto, el & "; deje que falle &"; el enfoque puede ser contraproducente si no puede recuperarse completamente después de eso, como demostrado por Ariane V .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top