// 100% Original Design, Development, Engineering, Photography, Adventures & Programming Reference by Marcus Rivers

DEPENDENCY INVERSION

Develop Bottom to Top

Design Principle

IN A NUTSHELL

Entities must depend on abstractions, not concrete implentations. Bottom-To-Top thinking.

PROBLEM

Note to self - needs better understanding before article

SOLUTION

SOLUTION TEXT

ILLUSTRATIONS
ADVANTAGES
  • Reduces dependencies
DISADVANTAGES
  • Increases design time and initial complexity of application development
EXAMPLES
computer code
DEPENDENCIES / INTERACTION

Guidelines, cannot be maintained with 100% strictness, evaluate the problem and adapt.

  • Abstractions should not depend on details
  • Do not subclass from concrete classes, use interfaces or abstract classes, because the concrete class may change and break the subclasses.
  • Do not override methods that have already been implemented – means the abstraction is not good.
TYPICAL USE

General Programming Good Practice, Should be used at all times.