The simple trading system has two main functionality to buy and sell the stock.ĭomain-Driven Design (DDD) advocates modeling based on the reality of business as relevant to your use cases.
#DOMAIN DRIVEN DESIGN VS EVENT DRIVEN DESIGN HOW TO#
In this article, we are going to demonstrate how to build a distributed Reactive Stock Trading System using Domain-Driven Design, Event Sourcing, Akka Cluster Sharding, Akka Persistence, Cassandra, Kafka the solution is written in Scala and Akka framework. The DDD approach was introduced by Eric Evans in his book Domain-Driven Design: Tackling Complexity in the Heart of Software It’s about organizing code artifacts in alignment with business problems, using the same common, Ubiquitous language that both technical, business analysts and product owners can understand.ĭDD isn’t a methodology, it’s more about the software’s architectural design, providing a structure of practices to take design decisions that help in software projects that have complicated domains.
DDD has a strategic value and it’s about mapping business domain concepts into software artifacts. To create a banking software system, you need to have a good understanding of what banking is all about, one must understand the banking domain. To design good software, it’s important to know what that software is about. As its name says, the point here is to focus on the domain of a specific business problem. That’s when Domain-Driven Design (DDD) comes in. but if it doesn’t solve the business’s needs, it won’t be considered useful.
An application can be developed with amazing architecture, using the latest technologies and having the best interface, etc.