![pluralsight domain driven design pluralsight domain driven design](https://khorikov.org/images/2020/2020-08-16-trilemma.png)
The first point of call for developers should be to understand the problem domain of the software they want to build and then create an abstract model of the domain. But what is it exactly? Domain Driven Design is an approach to software development that places primary focus on the core domain of the software program. From an English standpoint the phrase domain-driven design simply means a design that is driven by and revolves around a particular domain. Now that we have an understanding of what a domain is let us now talk about what Domain Driven Design is. Every software program seeks to solve a problem in a specific domain. In software terms a domain is a subject area to which a software program is applied, for instance, e-commerce, insurance, entertainment, etcetera. According to this definition a domain is a specified sphere of activity or knowledge. What Is A Domain?īefore we talk about Domain Driven Design we need to understand what a domain is. I am going to talk about core concepts in Domain Driven Design as I understand them. In this post I am going to talk about what I have learnt about Domain Driven Design and how it can help solve complex software problems. Instead of reading blog posts and watching courses on Pluralsight (which I eventually did), I decided to first read Eric Evans’ book in which he introduces the concept. I have come across this topic multiple times but had never focused much on it. At the beginning of this month I challenged myself to learn more about Domain Driven Design.