lowdependency
Lowdependency is a design principle aimed at minimizing external dependencies in software systems, products, and services to improve reliability, portability, and maintainability. It covers code, architecture, and operational practices, with an emphasis on reducing the risk and complexity that come from relying on many libraries, services, or platforms through decoupling, clear interfaces, and a minimal surface area for change.
Key concepts include decoupling components with well-defined interfaces, applying dependency inversion and inversion of control, modular
Benefits include improved resilience to outages, easier testing, simpler upgrades, a smaller security attack surface, easier
Implementation approaches involve architecture with clear domain boundaries, dependency injection, modular monoliths or services with explicit
Challenges exist, such as potential initial development overhead, possible performance costs from abstractions, the risk of
See also: loose coupling, modularity, dependency management, offline-first design.