Applying IoC/DI
FastAPI is a framework that supports the IoC principle, which means that it has a container that can instantiate objects for an application. In a typical programming scenario, we instantiate classes to use them in many ways to build a running application. But with IoC, the framework instantiates the components for the application. Figure 3.1 shows the whole picture of the IoC principle and the participation of one of its forms, called the DI.
Figure 3.1 – The IoC principle
For FastAPI, DI is not only a principle but a mechanism to integrate an object into a component that leads to creating a loosely coupled but highly cohesive software structure. Almost all components can be candidates for DI, including functions. But for now, let us focus on callable components that provide some JSON objects once they are injected into an API service – injectable and callable components that we call dependency functions.