facade-implements-asymmetric-dip

Status: IN

Facade's asymmetric subsystem simplification (one-directional dependency, subsystem unaware of Facade, typically Singleton) can support the conditions that enable DIP at the subsystem boundary: the Facade acts as an abstraction boundary owned by the higher-level client layer, and the subsystem's complete unawareness of its Facade aligns with DIP's principle that lower-level modules should not depend on higher-level modules' abstractions. However, this alignment with DIP is conditional on the Facade establishing a true abstraction boundary rather than merely a convenience wrapper.

Justifications

Facade's asymmetry concretely instantiates DIP's ownership and directionality principles

Depends on (SL): facade-asymmetric-subsystem-simplification, adapter-facade-implements-dip-at-boundaries

JSON