If we're building an app that helps recruiters hire talent, we need to spend some time understanding the domain language and processes that exist from the recruiters' perspective.
Once agreed upon, it enables developers to connect what the software implementation to what actually occurs in the real world. The Ubiquitous Language (which is a fancy DDD term for the common language that best describes the domain model concepts) can only be learned by talking with the domain experts. Initially conceptualized by Eric Evans who wrote the bible of DDD (famously known as the Blue Book), DDD's primary technical benefits are that it enables you to write expressive, rich and encapsulated software that are testable, scalable and maintainable.
Or have you ever been in the situation where you're nervous to add new code to an existing codebase in the fear that you'll break something else in a completely different part of the code somewhere? Have you ever wondered, "how do you organize business logic anyways"? Have you ever worked on a codebase where it felt like "the more code I add, the more complex it gets"? Check it out if you liked this post.Īlso from the Domain-Driven Design with TypeScript article series. This is part of the Domain-Driven Design w/ TypeScript & Node.js course.