We strive to keep our domain model intact from anything that is related to infrastructure, persistence, execution, and communication. This makes the domain model pure and keeps it focused on the business. However, we still need to create the whole system around it, keeping the domain model as the system core.
The whole world of runtime surrounds our domain model, and in this section, we are going to dissect all necessary components that are required to build a proper system and look at how these components need to be bound together, with each other and with the domain model.