Was ist der Unterschied zwischen afferenten Kopplungen und efferenten Kopplungen einer Klasse?

7

Das Code-Qualitätsmesswerkzeug wie Sonar bietet die Möglichkeit, einen Drilldown zu einer Klasse durchzuführen und die Anzahl der folgenden Punkte zu ermitteln:

  1. Afferent (eingehende) Kopplungen
  2. Efferent (ausgehende) Kopplungen

Was sind diese zwei Parameter? Können Sie bitte mit einem einfachen erfundenen Beispiel beschreiben?

    
Geek 07.03.2013, 13:14
quelle

3 Antworten

17

Nach wikipedia :

  

Afferenz-Kopplungen (Ca): Die Anzahl der Klassen in anderen Paketen, die von den Klassen innerhalb des Pakets abhängen, ist ein Indikator für die Verantwortung des Pakets. Afferent = eingehend.

     

Efferent Couplings (Ce): Die Anzahl der Klassen in anderen Paketen, von denen die Klassen im Paket abhängen, ist ein Indikator für die Abhängigkeit des Pakets von externen Effekten. Efferent = ausgehend.

Also, wenn Sie Klassen (oder Pakete oder was auch immer) mit der folgenden Struktur haben:

%Vor%

Dann haben Foo und Bar jeweils eine efferent Kopplung und Quux hat zwei afferente Kopplungen.

    
millimoose 07.03.2013 14:02
quelle
9

Da Sie Sonar erwähnt haben, finden Sie hier die Definition, die ihre Dokumentationsseite enthält / p>

  • Afferenzkupplungen: Eine Klasse afferenter Kopplungen ist ein Maß dafür, wie Viele andere Klassen verwenden die spezifische Klasse.
  • Efferent Kupplungen: Eine Klasse efferent Kupplungen ist ein Maß dafür, wie Viele verschiedene Klassen werden von der spezifischen Klasse verwendet.
ppapapetrou 08.03.2013 08:09
quelle
0

Kopplung ist ein Maß für Abhängigkeiten.

Afferent-Kopplung:

  • Wer kommt auf dich an?
  • Maß dafür, wie viele andere Pakete ein bestimmtes Paket verwenden.
  • Eingehende Abhängigkeiten.

Efferent-Kopplung:

  • Von wem sind Sie abhängig? .
  • Maß dafür, wie viele verschiedene Pakete von einem bestimmten Paket verwendet werden.
  • Ausgehende Abhängigkeiten.
aniruddha 17.01.2018 16:52
quelle