Solid Principles, Python.
LaserPrinter inherits the printer interface. And the reporting module depends on the printer interface. All arrow used to point downwards. Modules depended on lower level modules. Bu now Reporting depends on an interface, it depends on something abstract. LaserPrinter depends on that same