使用反射api测量类的位置稳定性

时间:2017-01-04 11:46:50

标签: java oop design-patterns reflection object-graph

作为大学项目的一部分,我们需要“创建一个使用反射来分析任意Java应用程序存档(JAR)的Java应用程序,并计算其对象图中每个组件类的位置稳定性。回想一下可以通过计算进入和离开该类型的依赖性的数量来测量类型的位置稳定性(I):“。

我们需要测量每个类及其组件的传出和传入耦合,然后计算稳定性。

我对如何计算传入和传出耦合感到有些困惑。这是我到目前为止所做的,

 for (int i = 0; i < cls.size(); i++) {

        Class cla = cls.getMyClass(i);

        Class[] interfaces = cla.getInterfaces();

        for(Class inter : interfaces){

            efferentCoup++;
        }

        Constructor[] cons = cla.getConstructors();
        Class[] conParams;

        for(Constructor c: cons){

            conParams = c.getParameterTypes();

            for(Class par: conParams){

                efferentCoup++;
            }

        }

        Field[] fields = cla.getFields();

        for(Field fie: fields ){
            efferentCoup++;
        }
}

1 个答案:

答案 0 :(得分:2)

  • 传入耦合: - 衡量其他课程使用的数量 具体课程。
  

要计算这一点,您需要内省所有包并增加   你的计数器每次都会被引用。

  • 传出耦合: - 衡量不同类别的数量 由特定类使用
  

要计算这一点,您需要通过特定的类进行内省   并查看它引用了多少其他类。

理想情况下,第1步应该足以计算两种耦合。