Was bedeutet Acyclic Dependencies Principle?

Das International Software Architecture Qualification Board  (ISAQB) definiert den Begriff „Acyclic Dependencies Principle“ wie folgt:

Unter Acyclic Dependencies Principle versteht man

A fundamental principle for designing the structure of software systems (also see Package Principles). It demands that there be no cycles in the dependence graph of a system, which is also a necessity for hierarchical decomposition.

Avoiding dependence cycles is essential for low coupling and maintainability, as all components in a dependence cycle effectively (even if indirectly) depend on each other, which makes it hard to understand, change or replace any part of the cycle in isolation (also see Lilienthal-2019).

Although Robert C. Martin (Martin-2003) expressed it in terms of large components of object-oriented software, the ADP is a universal principle. It goes back (at least) to one of the origins of software architecture, the classic 1972 paper “On the Criteria To Be Used in Decomposing Systems into Modules” (Parnas-1972), which concludes that hierarchical structure along with “clean” decomposition are desirable properties of any system.

It can be argued that a dependence cycle, even before considering its various practical problems, is logically already as flawed as a circular argument or circular definition. As a structural contradiction, a cycle can neither be an appropriate nor meaningful model of the inherent nature and purpose of a system. And this conceptual divergence alone virtually guarantees for (unpredictable) problems to arise, which is exactly what a principled approach guards against.

Category: Design-Principle

Wenn Sie ähnliche Fachbegriffe wie Acyclic Dependencies Principle nachschlagen müssen, schauen Sie doch einfach in unserm umfangreichen Glossar nach. Oder durchsuchen Sie unser Wörterbuch:

Lexikon durchsuchen
Generic filters
Schlagwörter

Bestellen Sie unsere Monatspost

Mit Klick auf "Abonnieren" willigen Sie bis auf Widerruf ein, den E-Mail Newsletter der Expleo Academy zu erhalten, mit alle neuen Beiträgen, aktuellen Angeboten und personalisierten Empfehlungen. Diese Einwilligung kann jederzeit über den in den Mails bereitgestellten Abmeldelink widerrufen werden. Durch Absenden des Formulars bestätigen Sie, unsere Datenschutzerklärung sowie die Nutzungsbedingungen zur Kenntnis genommen zu haben.

* = erforderliche Angaben