sustain/src/main/java/net/happyonroad/component/container/support/DefaultComponentRepository.java
@Override
    public void sortComponents(List<Component> components) {
        //将组件集合之间的依赖关系以map的形式展现出来
        Map<Component, Set<Component>> dependencies = dependsMap(components);
        //清空待排序的components，用于做结果的容器
        components.clear();
        //基于依赖关系进行处理
        arrange(components, dependencies);
    }
@Override
    public void sortComponents(List<Component> components) {
        //将组件集合之间的依赖关系以map的形式展现出来
        Map<Component, Set<Component>> dependencies = dependsMap(components);
        //清空待排序的components，用于做结果的容器
        components.clear();
        //基于依赖关系进行处理
        arrange(components, dependencies);
    }
基于依赖关系进行排序，最多被依赖的组件排在最前面，没有被依赖的排在最后面
<pre>
这个排序算法不能基于java的quick sort，默认快速排序，排到前面的，不会再和后面的继续比较

基本的算法原理是：
先为components集合构建一个相互之间的依赖关系，map结构

</pre>
@param components 被排序的组件