
- Domain driven design vs soa update#
- Domain driven design vs soa software#
- Domain driven design vs soa code#
Domain driven design vs soa update#
Maybe the problem you are facing is that you create services like "UpdateOrder" which takes an order entity and tries to update this in a new session? Var customer = customerRepo.FindById(customerId) Var customerRepo = new CustomerRepo(uow) Void RenameCustomer(int customerId,string newName) Just model your service operations as atomic domain commands. I also don't see what the problem is with ORM and services, you can easily use a session/uow per service call. You create a domain model that encapsulates your domain concepts, and expose entry points into that model via services. IMO, they are two concepts that work great together I think a common misconception is that SOA and DDD are two conflicting styles. To read more around that, you can check this article. As he has said, DDD is not for perfectionists, meaning that there might be cases, where the ideal design does not exist and you might have to go with a solution, which is worse in terms of modelling. Like I said, maybe I'm just not grasping DDD or maybe I'm overĮxcuse me, but I'll have to quote Eric Evans one more time. So, this trade-off should always be kept in mind, DDD is not a silver bullet. If you'd like to calculate the order's total amount strictly following DDD, you'd have to load all the order items in memory, which would be extremely inefficient compared leveraging your storage system (e.g. For instance, imagine a retail system, where each order is an aggregate containing potentially thousands of order items. In the video I've linked above, you can also find Eric explaining that DDD concepts can "break" in very large-scale systems. Some of the patterns and concepts do fit in large systems. I am starting to think DDD doesn't fit in large systems but I do think
Domain driven design vs soa software#
They force the software towards an anemic domain model, where classes end up being "plain data holders". This is because, they're trying to bridge the object-relational impedance mismatch, but in a wrong way. However, you're right, ORMs do not fit nicely with DDD as well. I don't have any reference handy to back this up. I've even tried using ORM's but they just don't seem like they fit in You should also check this video (especially the last 5 minutes), where Eric Evans discusses exactly this topic. classes in case of object-oriented programming) align directly with concepts of the business. DDD is mostly about trying to model your software, so that all the concepts (i.e.
Domain driven design vs soa code#
I've always developed code in a SOA type of way. Service Oriented Architecture & Domain-Driven Design
