top of page
index-1-1.jpg

Introduction to Domain Driven Design

  • Writer: Aurora Solutions
    Aurora Solutions
  • Mar 11, 2014
  • 3 min read

When developing the large enterprise application, if the application is not properly designed you will face many problems in maintaining and in enhancing the application. Similarly if the domain is complex the application will be more difficult to develop and maintain. So to avoid the future problems, here the DDD comes in to play.


DDD comes with the solution to manage the big and complex domains and also the software complexity. Domain Driven Design (DDD) is basically not the technology or methodology. Basically it’s the set of patterns and principles for focusing on the design efforts where it matters the most that is domain. This idea was brought in to the world by Eric Evans in his book “Domain-Driven Design: Tackling Complexity in the Heart of Software”. In Domain Driven Design, knowledge of Domain is very important. In domain driven design we just focus on the domain and all the business logic related to domain.



The domain is our trade, or sphere of activity. Some common examples of domain are trading, finance, e commerce, cargo shipping. For example lets say you are going to develop the trading application, the requirement are:

  • You have to subscribe to the stock prices.

  • Then you will have to run the strategy to trade the stocks.

In this scenario what your domain is? Trading. Yes that might be, but when you see trading word it includes stocks, bonds, commodities and many other things. So you will need to narrow down the domain to “Stock Trading”, as if you consider full trading you will lose the important requirement related to stock trading.


The basic principle of DDD is to just focus on the domain and the domain design is based on the model. The domain model is the heart of the application. When doing domain driven designing we have domain experts on one side and the software developers on the other side. Software developer are expert in developing the applications using the different patterns and the technologies whereas the domain experts know all about the domain and all the business logic of the domain which developers don’t know. So then how will both communicate as the technology terms will be difficult for the domain experts to understand, same with the domain terms will be difficult for the developers to understand. Since effective communication between these two is very important in order to build a large enterprise application covering that specific domain. So DDD has this solution which is called the “Ubiquitous Language”. I will not go in detail about this, as it’s just the introduction to the DDD.


In the next series of articles we will move ahead with all the terminologies, concepts and the design patterns of DDD one by one in detail. We will use the cargo tracking / automated trading domain to cover all the topics of DDD. The knowledge about the trading domain will be provided in the next articles before starting with the DDD patterns in details so that to understand the concepts with a scenario.

9 Comments


Alexey Konup
Alexey Konup
Apr 08

Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду — скоріше, для порівняння та пошуку контрасту між подачею. Можливо, хтось іще знайде серед них щось цікаве або принаймні нове. Головне — мати з чого обирати. Мкх5гнк w69 п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4 k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду —…

Like

Alexey Konup
Alexey Konup
Apr 08

Часом знаходжу цікаві сайти — випадково або коли хтось ділиться в чаті. Частину зберігаю про запас, іноді повертаюсь до них при нагоді. Тут є різне — новини, блоги, локальні стрічки чи просто незвичні штуки. Деякі переглядаю рідко, деякі — коли хочеться вийти за межі звичних джерел. Поділюсь добіркою — може, хтось натрапить на щось нове: Мкх5гнкw69п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Щодо загальної інформації — іноді буває корисно мати кілька додаткових ресурсів під рукою. Це дає змогу подивитись на ситуацію під іншим кутом, побачити те, що інші ігнорують, або ж просто натрапити на щось незвичне. Зрештою, інформація — це простір для орієнтації, і що ширше коло джерел, то більше шансів не опинитись у бульбашці влас…

Like

Alexey Konup
Alexey Konup
Apr 08

Мкх5гнк w69 п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4 k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду — скоріше, для порівняння та пошуку контрасту між подачею. Можливо, хтось іще знайде серед них щось цікаве або принаймні нове. Головне — мати з чого обирати.

Like

Alexey Konup
Alexey Konup
Mar 31

Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду — скоріше, для порівняння та пошуку контрасту між подачею. Можливо, хтось іще знайде серед них щось цікаве або принаймні нове. Головне — мати з чого обирати. Мкх5гнк w69 п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4 k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Часом знаходжу ці джерела випадково, іноді хтось скине в чат, іноді сам зберігаю “на потім”. Частину переглядаю рідко, частину — коли шукаю щось локальне чи нестандартне. Вони різні: новини, огляди, думки, регіональні стрічки. Я не беру все за правду —…

Like

Alexey Konup
Alexey Konup
Mar 31

Часом знаходжу цікаві сайти — випадково або коли хтось ділиться в чаті. Частину зберігаю про запас, іноді повертаюсь до них при нагоді. Тут є різне — новини, блоги, локальні стрічки чи просто незвичні штуки. Деякі переглядаю рідко, деякі — коли хочеться вийти за межі звичних джерел. Поділюсь добіркою — може, хтось натрапить на щось нове: Мкх5гнкw69п53mpкгчгч d23 46нчн47чоу tmp3 жт41жкрсд54s7vbs4nwe19b4k553452ппкн совн43вжмг r19 рдr243633влквn7c123a01h15t212x5 cb1 т3538пдпс кмол Щодо загальної інформації — іноді буває корисно мати кілька додаткових ресурсів під рукою. Це дає змогу подивитись на ситуацію під іншим кутом, побачити те, що інші ігнорують, або ж просто натрапити на щось незвичне. Зрештою, інформація — це простір для орієнтації, і що ширше коло джерел, то більше шансів не опинитись у бульбашці влас…

Like
bottom of page