我想学习如何在.net中创建真正健壮的应用程序 - 具有容错能力且能够承受意外情况的应用程序。我在哪里可以找到关于这个主题的文献/指导?到目前为止,我没有太多运气。
答案 0 :(得分:4)
我至少知道几个资源。首先,在MSDN上有一篇非常有用的文章标题为Keep Your Code Running with the Reliability Features of the .NET Framework。
Chris Brumme在设计可靠性功能时也有post on hosting。这可以提供一些有用的背景信息
您可能会觉得有用的搜索字词包括“高可用性”“CER”和“约束执行区域”。
祝你好运!真正可用的代码是相当棘手的东西。 :)答案 1 :(得分:0)
如果您从软件实施的角度来看,那么可能值得研究Design by Contract (DbC)
根据this source,合同设计的好处包括:
此外,我建议采用Test Driven Development (TDD)方法,这应该有助于推动更强大的设计。
答案 2 :(得分:0)
就我个人而言,我发现Stephen Toub的文章是约束执行区域的最佳来源:Using the Reliability Features of the .NET Framework。最后CER是任何容错代码的面包和黄油,因此本文包含了您需要知道的所有内容,并以简洁明了的方式进行了解释。
话虽如此,你可能宁愿选择支持更激进的设计,你会立即求助于破坏应用程序域(或者在托管CLR时依赖于这种模式)。例如,您可以查看隔板模式(如果您对此模式感兴趣并面临复杂的数据流,则可能是reactive manifesto。)
话虽如此,"让它失败"如果你不能在那之后完全恢复,那么方法会适得其反,如demonstrated by Ariane V。