
What is the domain and why is it important?
One of the most important things I have learned as a software engineer is to design systems around the domain. “What’s the domain?” — you might ask. In terms of software design, I would define the domain as any useful unit of business. For example, let’s say the business is real estate. One domain might be “rentals” and another one might be “sales”. Both have their own rules and logic and represent useful units that give us a full picture of the business. That’s the whole point. Why would the software — the code, the database entities, the tools, etc. — use technical and obscure names? Why would the software and the business speak two different languages? This disconnection creates problems we’ve all seen in software development: Product/Business and engineering are talking about the same thing, but using different words. This creates unnecessary confusion and friction Business rules and semantics are all over the place. This means that the boundaries are not clear. Unclear boundaries
Continue reading on Dev.to
Opens in a new tab




