The four layers shown above are of course not the only layers that could exist, more layers can be added if needed depending on the problem. The only thing that should be kept in mind while doing so is the dependency rule. According to the rule, dependencies can only point inwards. Inner layers should never depend on the outer layers.
Entities is the innermost layer, they encapsulate business rules, or things that will always be true or static for an appli cation. Entities can just be objects with methods or just simple data structures and functions. This layer is the least likely to change in the lifetime of an application and should not be affected by changes in other layers.
Use Cases is the next layer up, they implement the use cases of the system by interacting with entities and exchanging data between them to achieve the corre sponding goals. Essentially, they dictate what interactions can be achieved with the system.