
In Clean Architecture, the central focus should be on Entities and business rules.
In Domain-Driven Design, this is the Domain Model.
This project should contain all of your Entities, Value Objects, and business logic.
Entities that are related and should change together should be grouped into an Aggregate.
Entities should leverage encapsulation and should minimize public setters.
Entities can leverage Domain Events to communicate changes to other parts of the system.
Entities can define Specifications that can be used to query for them.
For mutable access, Entities should be accessed through a Repository interface.
Read-only ad hoc queries can use separate Query Services that don't use the Domain Model.
In Clean Architecture, the Use Cases (or Application Services) project is a relatively thin layer that wraps the domain model.
Use Cases are typically organized by feature. These may be simple CRUD operations or much more complex activities.
Use Cases should not depend directly on infrastructure concerns, making them simple to unit test in most cases.
Use Cases are often grouped into Commands and Queries, following CQRS.
Having Use Cases as a separate project can reduce the amount of logic in UI and Infrastructure projects.
For simpler projects, the Use Cases project can be omitted, and its behavior moved into the UI project, either as separate services or MediatR handlers, or by simply putting the logic into the API endpoints.
In Clean Architecture, Infrastructure concerns are kept separate from the core business rules (or domain model in DDD).
The only project that should have code concerned with EF, Files, Email, Web Services, Azure/AWS/GCP, etc is Infrastructure.
Infrastructure should depend on Core (and, optionally, Use Cases) where abstractions (interfaces) exist.
Infrastructure classes implement interfaces found in the Core (Use Cases) project(s).
These implementations are wired up at startup using DI. In this case using Microsoft.Extensions.DependencyInjection and extension methods defined in each project.
Resources and Samples:
https://github.com/mimohammadi/CleanArchitectureTempByMinaMohammadi
https://github.com/ardalis/CleanArchitecture
https://github.com/jasontaylordev/CleanArchitecture
https://vrgl.ir/woLc2
https://vrgl.ir/g2AKj