views:

468

answers:

2

I want to learn how to create truly robust applications in .net - ones that are fault tolerant and are capable of withstanding unexpected situations. Where can I find literature/guidance on this subject? So far, I am not having much luck.

A: 

If you are looking from a software implementation perspective, then it may be worth looking into Design by Contract (DbC)

According to this source, the benefits of Design by Contract include the following:

  • A better understanding of the object-oriented method and, more generally, of software construction.
  • A systematic approach to building bug-free object-oriented systems.
  • An effective framework for debugging, testing and, more generally, quality assurance.
  • A method for documenting software components.
  • Better understanding and control of the inheritance mechanism.
  • A technique for dealing with abnormal cases, leading to a safe and effective language construct for exception handling.

In addition, I would advocate looking into a Test Driven Development (TDD) approach, which should help drive out a more robust design.

Macka
+1  A: 

I'm aware of at least a couple resources. First, there's a very useful article on MSDN titled Keep Your Code Running with the Reliability Features of the .NET Framework.

Chris Brumme also had a post on hosting when the reliability features were being designed. This can provide some useful background information

Search terms that you may find useful include "High Availability" "CER" and "Constrained Execution Regions".

Good luck! Truly available code is pretty tricky stuff. :)

Greg D
Thanks, am looking through this stuff now
Dmitri Nesteruk