The Clean Architecture Pattern, in its simplest terms, means to write a clean code, by separating it into layers, with the outer layer being your implementations and the inner layer being the business logic. An interface connects these two layers, controlling how the outer layers use the inner layers.
This kind of code architecture pattern is also known as Onion Architecture because of its different layers, as seen in the following figure:
Figure 2.2.4
The inner layers have no idea about the outer layers. The outer layer uses the components from the inner layers based upon its needs, meaning the outer layers are dependent on the business logic implementations of the inner layers. Hence, the dependency points inwards.