Domain Driven Design is a way of looking at how software works by focusing on the problems that need to be solved instead of on the software itself. It starts by understanding the business, its purpose, and the people that use it. This understanding is then broken down into smaller parts (called “domains”) that can be solved by creating software. The final product is made up of many different parts that all work together to solve the problem. By understanding the business and how people use it, the software that is created is much more efficient and can better meet the needs of those using it.