Skip to main content

15 docs tagged with "flexibility"

View all tags

Dependency Inversion Principle

High-level modules should not depend on low-level modules; both should depend on abstractions. Invert the dependency flow.

Encapsulate What Varies

Identify volatile aspects of your system and hide them behind stable interfaces to reduce coupling and change impact.

GraphQL

Design flexible, client-driven APIs with GraphQL schemas and resolvers

High Cohesion, Low Coupling

Build systems where components relate strongly to their purpose while remaining loosely connected to other components.

Low Coupling

Minimize dependencies between classes to improve flexibility, testability, and maintainability

Protected Variations

Protect classes from variations in other classes using abstraction and stable interfaces

Structural Patterns

Compose objects into larger structures while keeping relationships flexible and decoupled