2017-01-04 1 views
0

В рамках проекта для колледжа нам необходимо «создать приложение Java, которое использует отражение для анализа произвольного архива приложений Java (JAR) и вычисляет позиционную стабильность каждого из классы компонентов в графе объектов. Напомним, что стабильность позиции (I) типа может быть измерена путем подсчета количества зависимостей, которые вводят и оставляют этот тип: ".Измерение позиционной устойчивости класса с использованием отражения api

Нам нужно измерить Efferent и Afferent муфты каждого класса и его компонентов, а затем вычислить стабильность.

Я немного запутался в том, как рассчитать афферентные и эфферентные соединения. Это то, что я сделал до сих пор,

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++; 
     } 
} 

ответ

2
  • Афферентный Couplings: - это мера того, как многие другие классы используют определенный класс.

Для расчета этого вам нужно вникать все пакеты и увеличивать встречные каждый раз, что становится ссылкой конкретного класса.

  • Эфферентных муфты: - это мера того, насколько много различных классов используется конкретным классом

Для расчета этого вам нужно вникать через определенный класс и посмотрите, сколько других классов он ссылается.

Идеально шаг 1, должен быть достаточно хорош, чтобы рассчитать обе муфты.

+1

Хорошо. Теперь это немного лучше, я немного смутился об Афферент и Эфферент. –

Смежные вопросы