 The direction of dependency can be chosen to maximize policy code reuse, and eliminate cyclic dependencies.In this version of DIP, the lower layer component's dependency on the interfaces/abstracts in the higher-level layers makes re-utilization of the lower layer components difficult.This implementation instead ″inverts″ the traditional dependency from top-to-bottom to the opposite, from bottom-to-top.