一个 java 工程, 可能依赖多个其他的 java 服务,在进行发布的时候, 需要考虑依赖关系。
例如有 a~g, x~z 两组服务, 他们的依赖关系如下:
第一组:
x <-- y // x 依赖 y
z <-- y // z 依赖 y
第二组:
a <-- b //a 依赖 b
c <-- b // c 依赖 b
b <-- e, f // b 依赖 e, f 两个服务。下面的服务关系类同, 不再写注释了。
g <-- b
a <-- e
最终排序为:
第一组:
y, [x, z] // y 是第一批次。x 和 z 都属于第二批次,xz 不分先后
第二组:
[e, f], b , [a, c, g] // e, f 属于第一批次,b 属于第二批次,a,c,g 属于第三批次
如何用 python 程序表达排序的逻辑呢?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.