我正在尝试分析一个应用程序,其中程序集引用应该 是有向无环图,但实际上不是。还有一个子组件引用一个子组件的不同版本的相关问题 (think Escher...)
我想做的是分析每个装配体-子装配体对,并构建出问题所在的图片。
我需要一些关于什么是好的数据结构的指导。我不太确定我是否可以构建一个不可变的,但我不介意让它在内部可变,然后在最后转换为不可变的。
问题的另一部分是我应该使用哪种算法来填充数据结构,以及之后“分析”问题。
最佳答案
你可以只使用NDepend ,它会分析您的程序集并检测依赖周期。
如果你真的想自己做,我会使用 QuickGraph为了对依赖图进行建模,它还包括图形算法,如拓扑排序。
关于algorithm - 有向循环图 (F#) 的数据结构和算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3108497/