Domain Driven Design Gateway
The domain model also provides the language and context.
Domain driven design gateway. This approach would require the application gateway to interact with multiple bounded contexts which seems like it may violate ddd in some way. It also suggests many technical concepts and patterns like domain entities with rich models no. Domain driven design object orientation done right but everything from tool choice to the halting problem to the pointy haired boss constrains and shapes the software you create. Tactical ddd provides a set of design patterns.
Strategic ddd helps to ensure that your architecture remains focused on business capabilities. In other words you can have any kind of client for the domain layer in any architecture. Clean architecture and domain driven design simplify complexity better than anything i have seen in my twenty some years experience as a software craftsman. Ddd has two distinct phases strategic and tactical.
Software should be like. In the context of building applications ddd talks about problems as domains. The necessary domain knowledge to create the application resides within the people who understand it the domain experts. Domain driven design ddd is a software development approach first introduced by eric evans.
For example in a banking application customers and accounts would be entities. Domain driven design ddd advocates modeling based on the reality of business as relevant to your use cases. An entity is an object with a unique identity that persists over time. An entity has a unique identifier in the system which can be used to look up or retrieve.
Domain driven design ddd provides a framework that can get you most of the way to a set of well designed microservices. Domain driven design made famous by eric evans by his book is a set of ideas principles and patterns that help design software systems based on the underlying model of the business domain. Any microservice implementation could benefit by following. Domain driven design is a key element of soa architecture because it helps in encapsulating the business logic and rules in domain objects.
In strategic ddd you are defining the large scale structure of the system. Domain driven design is a framework based on strategic value and it s about mapping business domain concepts into software artifacts. This is how well designed modularized monoliths work. Ddd requires a good understanding of the domain for which the application will be written.
It may not be well suited for a microservice.