https://pusher.com/tutorials/clean-architecture-introduction/#defining-terms
The inner circle is the domain layer of your application. This is where you put the business rules. By “business” we don’t necessarily mean a company. It just means the essence of what your application does, the core functionality of the code. A translation app translates. An online store has products to sell. These business rules tend to be fairly stable since you are not likely to change the essence of what your app does very often.
The outer circle is the infrastructure. It includes things like the UI, the database, web APIs, and frameworks. These things are more likely to change than the domain. For example, you are more likely to change how a UI button looks than you are to change how a loan is calculated.
A boundary between the domain and the infrastructure is set up so that the domain doesn’t know anything about the infrastructure. That means the UI and the database depend on the business rules, but the business rules don’t depend on the UI or database. This makes it a plugin architecture. It doesn’t matter if the UI is a web interface, a desktop app, or a mobile app. It doesn’t matter if the data is stored using SQL or NoSQL or in the cloud. The domain doesn’t care. This makes it easy to change the infrastructure.
