Talk:Dependency inversion principle
Appearance
![]() | Computer science Unassessed | ||||||||||||||||
|
Introduction
I miss a reference to the original author of this principle Robert C. Martin in "Agile Software Development: Principles". --Klodr (talk) 01:08, 7 January 2013 (UTC)
Description
It's wrong that the interface which defines the services required by the higher layers is in the same package. That will result in an undesirable impact to re-usability of lower layers. For example, packages that defines persistence or logging sub-systems. The perfect DIP implementation requires that both layers depend on abstractions in separate libraries or packages. The dependency inversion is only by name, defining the policy as an abstraction of services, not for implementation or compilation.