Understanding tactical patterns in DDD
If the purpose of the strategic pattern is to identify the boundaries to split our domain into many subdomains, the purpose of the tactical pattern is to identify the components inside each bounded context.
In this section, we will cover the tactical aspects of DDD, where different patterns play distinct roles depending on the complexity and strategic importance of the subdomain. We must remember that not all subdomains are created in the same way. Different subdomains have different levels of complexity and different strategic importance. If you are writing code for a generic subdomain, you most likely do not need any special patterns. Sometimes, create, read, update, and delete (CRUD) is more than enough! A model that represents the table in your database is enough, and the use of an object-relational mapper (ORM) is sometimes helpful.
But what happens if you have to write code for your core subdomain? In this case, you need to have...