График зависимостей в .NET - PullRequest
3 голосов
/ 12 ноября 2011

В моем приложении есть такие вещи, как задачи, ресурсы и блокировки. Задачи могут зависеть от ресурсов, других задач, выполняемых в данный момент или завершенных, и блокировать ресурсы. Задачи также могут создавать ресурсы. Существует ли какая-либо библиотека с открытым исходным кодом или коммерческая библиотека, которая может помочь в моделировании этого?

Ответы [ 2 ]

1 голос
/ 13 ноября 2011

Взгляните на NGenerics - http://code.google.com/p/ngenerics/.

Имеет отличную библиотеку графов и реализует Алгоритм сильно связанных компонентов Тарьяна для обнаружения циклов в графе. В нем должно быть все необходимое для моделирования этого кода.

0 голосов
/ 15 ноября 2011

Вы можете сделать это с помощью инструмента NDepend. Отказ от ответственности: я один из разработчиков инструмента

Предоставляет граф зависимостей кода и матрицу структурной зависимости кода . NDepend также предоставляет возможность создания правил кода по запросам LINQ (CQLinq) . Могут быть написаны правила кода зависимости, они могут выглядеть так:

warnif count > 0 
from a in Assemblies where
a.IsUsing ("NUnit.Util") && (a.Name == @"nunit-agent")
select new { a, a.NbLinesOfCode }

Такое правило можно проверить в Visual Studio благодаря надстройке NDepend или в Отчеты, созданные во время процесса сборки / CI .

Обратите внимание, что с этими функциями NDepend не поможет вам создать хороший дизайн. Но это поможет вам выразить и формализовать разработанный вами дизайн + он будет постоянно проверять, что с развитием кода фиксированный дизайн не укореняется.

...