from wikipeda: https://en.wikipedia.org/wiki/Dependency_inversion_principle
Traditional layers pattern
In conventional application architecture, lower-level components (e.g., Utility Layer) are designed to be consumed by higher-level components (e.g., Policy Layer) which enable increasingly complex systems to be built. In this composition, higher-level components depend directly upon lower-level components to achieve some task. This dependency upon lower-level components limits the reuse opportunities of the higher-level components.
의존성의 방향은 제어의 방향에 역전한다.
-- gim 2021-08-16 13:42:59