# The Software Components Dependency Rule ## Metadata **Status**:: #x **Zettel**:: #zettel/fleeting **Created**:: [[2025-12-18]] **Reference**:: [[Robert C. Martin - Clean Architecture A Craftsman's Guide to Software Structure and Design, First Edition (Highlights)]] **Topic**:: [[♯ Software Engineering]] ## Synopsis - High-level policies should not depend on low-level details. - High-level policies = business logic - Low-level details = input/output/framework/driver - Inverse dependency by define interfaces in high-level policies and let low-level components to implement those interfaces.