New answers tagged

2 votes

DDD On Large Scale Applications

DDD is a broad field. One of the topics is Bounded Contexts which tells us that instead of trying to model the entire enterprise in a giant unified model, we're better of creating linguistic ...
Rik D's user avatar
  • 4,470
7 votes

I do not like RESTful APIs anymore and dont understand why nobody agrees with me

But all giants like Microsoft or Google or Facebook design RESTful APIs and therefore I am hesitating to go my own way. Having worked at one of these places you mentioned, I can assure you that while ...
Jimmy Kurian's user avatar
1 vote

Where to store a props type declaration on a DDD project?

Some options: Domain Layer: If IBackendUser is a core domain concept, put it in the domain folder. Application Layer: If it's specific to the application logic, place it in an interfaces subfolder ...
Jimmy Kurian's user avatar
1 vote

Where to put factories that depend on the application layer?

Instead of separate factory, you could create a static factory method inside the cart class. This method takes in a collection of CartItem entities and returns a new Cart instance. Give it a ...
Rik D's user avatar
  • 4,470
1 vote

Where to put factories that depend on the application layer?

I have to say your question is not easy to understand - a little bit of context about your domains would be good. From my limited knowledge about domain driven design, I would think, that the Cart in ...
Mathias Mamsch's user avatar
1 vote

How to structure a cart with cart products object

Actually, you get to choose. Whatever makes the most sense to you. This is one of the beauties of properly separated code. You are able to define what your persistence CartProduct (i.e. the table ...
Flater's user avatar
  • 45.4k
1 vote
Accepted

How to structure a cart with cart products object

There are multiple ways to structure this, which are independent of Domain Driven Design. The Ubiquitous Language mentioned in DDD guides you in naming things. Within the realm of e-commerce, products,...
Greg Burghardt's user avatar
0 votes

Clean Architecture: Loading data for the domain layer

Somewhat similar to @user3347715's answer, I would design a FriendRelationship aggregate root that contains exactly the data perimeter needed to enforce your invariant. So, load user IDs remote from ...
guillaume31's user avatar
  • 8,371
0 votes

Marketing team's term for ubiquitous language

Marketing department is a player to be reckoned with, even if not involved in design and modelling. They will advertise things under different names and soon enough your end users, support team, etc. ...
guillaume31's user avatar
  • 8,371
2 votes

Clean Architecture: Loading data for the domain layer

The general approach here is going to be to model the interaction taking place. That is, make the implicit explicit. Let us add an additional concept to this system, FriendRequest, to carry some of ...
user3347715's user avatar
  • 3,104
0 votes

The role of the Product Owner in a Scrum Team following Domain-Driven Design

The Product Owner main responsibility is to define a clear priority for the team direction. But they're not the owners of the Domain Expertise. They can of course be experts in the field, but being ...
ZioBrando's user avatar
  • 1,494
4 votes

How large and thorough should the domain layer be?

Separating out what's "domain" or "business logic" from the rest of the application is not trivial or devoid of bias. Especially when like here you arguably have CRUD operations on ...
Ewan's user avatar
  • 70.9k
0 votes

Marketing team's term for ubiquitous language

there are different terms used for marketing purpose and one used for product team and engineering team. Some may say that makes a ubiquitous language impossible. I say, not so fast. Group A Group ...
candied_orange's user avatar
4 votes
Accepted

Marketing team's term for ubiquitous language

Sure, DDD dogma might say this does fit into the idea of the ubiquitous language. But the real question you need to answer for yourself is "how much does it really matter?" and what's the ...
Doc Brown's user avatar
  • 200k
-1 votes

Marketing team's term for ubiquitous language

DDD has the concept of "Bounded Contexts" to solve this issue. The Marketing BC might have Marketing.Customer while the product team has Product.Customer the ubiquitous language only applies ...
Ewan's user avatar
  • 70.9k
4 votes

Marketing team's term for ubiquitous language

If you have one term used by the marketing team for marketing purposes and another term used by the product and engineering teams, then you do not have a ubiquitous language. In Domain-Driven Design, &...
Thomas Owens's user avatar
  • 79.9k
0 votes

Specialization and LSP violation?

If you want to add extra parameters to a method without changing the method signature, inject a context object into the constructor. ie ExternalDoc ExternalDoc(IContext context) public override ...
Ewan's user avatar
  • 70.9k
0 votes

Specialization and LSP violation?

There are two different situations: One, you use inheritance so that an "ExternalDocument" can be used wherever a "Document" can be used. In that situation it should have ...
gnasher729's user avatar
  • 42.6k
1 vote
Accepted

How to integrate business logic from Domain layer with UI

Material, TimeToManufacture and Price should be just standard members of ProductOrder, and there should be a function ProductOrder.CalculateDerivedValues() which recalculates them based on other ...
Doc Brown's user avatar
  • 200k
3 votes
Accepted

The role of the Product Owner in a Scrum Team following Domain-Driven Design

The situations are so diverse that there's a whole book to be written about this - Patterns of Product Ownership maybe? (*) Sometimes the Product Owner is a catalyst of multiple business experts' ...
guillaume31's user avatar
  • 8,371
3 votes

The role of the Product Owner in a Scrum Team following Domain-Driven Design

Your understanding of Scrum's Product Owner isn't correct. Instead of being responsible, the Product Owner is accountable for the Product Backlog. Responsibility is about performing tasks, while ...
Thomas Owens's user avatar
  • 79.9k
3 votes

The role of the Product Owner in a Scrum Team following Domain-Driven Design

This is mostly a people problem. First, in Scrum, it is clearly not the responsibility of the PO to develop and evolve the domain model. That's the responsibility of the developers. Have a strong ...
Doc Brown's user avatar
  • 200k
3 votes
Accepted

Where to perform conditional mapping in Domain Driven Design?

Q: What information do you return to a user when they perform an action or request data that they are not authorized for? I believe there are two common answers (resulting in two different designs) so ...
DavidT's user avatar
  • 1,174

Top 50 recent answers are included