Earlier quoted context omitted.
That's like those objected-oriented programming examples you get in college, from professors who learned in the 90s and literally think in terms of "modelling" real objects with OOP.
To be fair they may actually know there stuff but from a didactic point-of-view it is very difficult introduce a `FactoryProvider` (or to a lesser extent even an `HTTPClient`) alongside basic OOP concepts.
Have Logger with StdoutLogger as basic example of it
Then FileLogger that extends it with few functions related to files
Then DBLogger with few functions related to logging to database
Then TestLogger for integrating with test framework