Избыточность, надежность и отказоустойчивость в C# — где искать примеры?

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

  •  20-08-2019
  •  | 
  •  

Вопрос

Я хочу научиться создавать действительно надежные приложения в .net — отказоустойчивые и способные противостоять непредвиденным ситуациям.Где я могу найти литературу/руководства по этому вопросу?Пока мне не очень везет.

Это было полезно?

Решение

Я знаю как минимум пару ресурсов.Во-первых, на MSDN есть очень полезная статья под названием Поддерживайте работоспособность своего кода с помощью функций обеспечения надежности .NET Framework.

У Криса Брамма также был пост на хостинге когда разрабатывались функции надежности.Это может предоставить некоторую полезную справочную информацию.

Условия поиска, которые могут оказаться вам полезными, включают «Высокая доступность», «CER» и «Области с ограниченным выполнением».

Удачи!По-настоящему доступный код — довольно сложная штука.:)

Другие советы

Если вы смотрите с точки зрения реализации программного обеспечения, возможно, стоит изучить Проектирование по контракту (DbC)

В соответствии с этот источник, Преимущества проектирования по контракту включают следующее:

  • Лучшее понимание объектно-ориентированного метода и, в более общем смысле, построения программного обеспечения.
  • Системный подход к построению безошибочных объектно-ориентированных систем.
  • Эффективная среда для отладки, тестирования и, в более общем плане, обеспечения качества.
  • Метод документирования компонентов программного обеспечения.
  • Лучшее понимание и контроль механизма наследования.
  • Методика работы с аномальными случаями, ведущая к созданию безопасной и эффективной языковой конструкции для обработки исключений.

Кроме того, я бы рекомендовал изучить Разработка через тестирование (TDD) подход, который должен помочь создать более надежную конструкцию.

Лично я нашел статью Стивена Тауба лучшим источником информации об областях с ограниченным выполнением: Использование функций обеспечения надежности .NET Framework.И, в конце концов, CER — это хлеб с маслом любого отказоустойчивого кода, поэтому эта статья содержит практически все, что вам нужно знать, объясненное ясно и кратко.

При этом вы могли бы предпочесть более радикальный дизайн, при котором вы немедленно прибегаете к уничтожению домена приложения (или зависите от этого шаблона при размещении CLR).Вы можете посмотреть, например, на рисунок переборки (и, возможно, на реактивный манифест если вас интересует этот шаблон и вы сталкиваетесь со сложными потоками данных).

При этом подход «пусть потерпит неудачу» может иметь неприятные последствия, если вы не сможете полностью восстановиться после этого, поскольку продемонстрировано Арианой V.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top