Was bedeutet Stable Dependencies Principle?

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

Unter Stable Dependencies Principle versteht man

A fundamental principle for designing the structure of software systems (also see Package Principles). It demands that frequently changing components depend on more stable ones.

Part of the volatility of a component is expected and naturally implied by its particular responsibility.

But stability in this context is also a function of incoming and outgoing dependencies. A component that is heavily depended on by others is harder to change and condsidered to be more stable. A component that heavily depends on others has more reasons to change and is considered to be less stable.

So in regards to dependence, a component with many clients should not depend on one with many dependencies. A single component with both of these properties is also a red flag. Such a component has many reasons to change but is at the same time hard to change.

Original definitions of the SDP (like Martin-2003) involve a metric I of instability. Unfortunately, that metric doesn’t capture intended/inherent volatility, transitive dependence or cases like the red flag mentioned above. But we value the idea of the SDP regardless of how it can be measured.

The SDP is closely related to the SAP. Their combination amounts to a version of the DIP (more on this under SAP).

Category: Design-Principle

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

Search
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