Tagged Questions
12
votes
2answers
1k views
Where we should put validation for domain model
I still looking best practice for domain model validation. Is that good to put the validation in constructor of domain model ? my domain model validation example as follows:
public class Order
{
...
9
votes
2answers
2k views
DDD - Does an aggregate root's repository handle saving aggregates?
I am using a DDD-like approach for a greenfield module of an existing application; it's not 100% DDD due to architecture but I'm trying to use some DDD concepts. I have a bounded context (I think ...
7
votes
4answers
510 views
Refactoring in domain driven design
I've just started working on a project and we're using domain-driven design (as defined by Eric Evans in Domain-Driven Design: Tackling Complexity in the Heart of Software. I believe that our project ...
5
votes
1answer
173 views
Domain Model and Querying
I am new to DDD, having worked only in Transaction-Script apps with an anemic model, or just Big Balls of Mud, so please forgive any terminology I abuse.
I am trying to understand the proper ...
5
votes
2answers
444 views
Are Persistence-Ignorant objects able to implement lazy loading?
Persistence Ignorance is an application of single responsibility principle, which in practice means that Domain Objects (DO) shouldn't contain code related to persistence, instead they should only ...
5
votes
3answers
611 views
Duplication in parallel inheritance hierarchies
Using an OO language with static typing (like Java), what are good ways to represent the following model invariant without large amounts of duplication.
I have two (actually multiple) flavours of the ...
4
votes
1answer
141 views
DDD: service contains two repository
Does it correct way to have two repository inside one service and will it be an application or domain service?
Suppose I have a Passenger object that should contains Passport (government id) object. ...
3
votes
2answers
611 views
Should this code/logic be included in Business Objects class or a separate class?
I have created a small application which has a three tier architecture and I have business object classes to represent entities such as User, Orders, UserType etc. In these classes I have methods that ...
3
votes
4answers
326 views
DDD: Service or Repository
I am developing an app in DDD manner. And I have a little problem with it.
I have a Fare (airline fare) and FareRepository objects. And at some point I should load additional fare information (from a ...
3
votes
2answers
120 views
A design decision in composition or aggregation
I've recently had doubts about some design decisions that I frequently make, so this time I decided to take some time and try to analyze it to find the best solution. I will describe a simple scenario ...
3
votes
2answers
228 views
Can the following Domain Entity contain logic for creating/deleting other entities?
a) As far as I understand it, in most cases Domain Model DM doesn't contain code for creating/deleting domain entities, but instead it is the job of layers ( ie service layer or UI layer ) on top of ...
3
votes
1answer
447 views
How to manage long running background threads and report progress with DDD
Title says most of it. I have found surprising little information about this. I have a long running operation of which the user wants to see the progress (as in, item x of y processed). I also need to ...
3
votes
0answers
128 views
DDD and filtering
I am developing an app in ddd maner. So I have a complex domain model. Suppose I have a Fare object and Airline. Each Airline should contain several or much more Fares.
My UI should represent Model ...
2
votes
1answer
463 views
Forcing aggregate root child access through the aggregate root alone
Context
I'm developing an application using a Domain Driven Design approach. I want to use a design pattern wherever appropriate and apply all SOLID principles.
Scenario
I have an order and I want ...
1
vote
1answer
118 views
design pattern advice: graph -> computation
I have a domain model, persisted in a database, which represents a graph. A graph consists of nodes (e.g. NodeTypeA, NodeTypeB) which are connected via branches. The two generic elements (nodes and ...