Kopplung zwischen Objekten (CBO)
Titel Kurzform | CBO |
Kategorien | Wartbarkeit, Wiederverwendbarkeit |
Definition | Anzahl weiterer Funktionsbausteine, die in einem Funktionsbaustein instanziiert und verwendet werden |
Weitere Informationen | CBO = Coupling Between Objects Ein Funktionsbausteine mit einer hohen Kopplung zwischen Objekten ist wahrscheinlich an vielen verschiedenen Aufgaben beteiligt und verstößt daher gegen das Prinzip der eindeutigen Verantwortlichkeit. |
Standardobergrenze für die zugehörige Regel SA0179: Kopplung zwischen Objekten | 30 |
Beispiel:
FUNCTION_BLOCK FB_Base
VAR
fb3 : FB3; // +1 instantiated here
END_VARFUNCTION_BLOCK FB_Sub EXTENDS FB_Base // +0 for EXTENDS
VAR
fb1 : FB1; // +1: instantiated here
fb2 : FB2; // +1: instantiated here
END_VARfb3(); // +0: instantiated in FB_Base, no increment for call- Die Erweiterung eines Funktionsbausteine erhöht nicht die Kopplung zwischen Objekten.
- fb3 wird in der Implementierung von
FB_Baseinstanziiert und anFB_Subvererbt. Der Aufruf inFB_Suberhöht nicht die Kopplung zwischen den Objekten. - Somit beträgt die Metrik Kopplung zwischen Objekten für
FB_Sub: 2