Comments (3)
Your assumption is correct. Associating any business-specific data (model objects) with a Domain Service beyond a single operation is the wrong decision.
A Repository is technical state to make it convenient to use one or more Aggregates in the business operation.
from iddd_samples.
It's free of business state. Technical state is fine, and it's typical for a Domain Service to use a Repository.
from iddd_samples.
Thanks for your response, Vaughn.
The terms "business state" and "technical state" are a bit vague to me, and I can't find good resources on them. As far as I can tell they are not covered in the book.
We believe ourselves to have a decent understanding of what can and cannot be stored as class properties on the service, e.g. we wouldn't think to store the tenant or product IDs as properties on BusinessPriorityCalculator, so we'll proceed with the assumption that we can trust our judgment rather than a set of clear rules.
from iddd_samples.
Related Issues (20)
- What's the point of com.saasovation.identityaccess.application.command? HOT 1
- Reference for functional programming
- Can't enable Mysql in EventStoreProvider HOT 1
- [question] implicit dependency from iddd_agilepm to iddd_identityaccess HOT 1
- Store aggregates: mongodb or postgres json
- Why didn't handle the situation that the user doesn't have the role
- Getting Peer not authenticated error when I'm trying to run gradlew build HOT 1
- why some entities in equals(..) use many properties and not only their ID? HOT 3
- Where is the aggregate root? HOT 1
- sprint.commit vs. backlogItem.commitTo HOT 5
- Why do some contexts contain port & adapter modules and others don't? HOT 3
- A duplicated tracker is created when retrying ProductDiscussionRequest HOT 2
- Build fails because of the version of tools
- The setup script fails
- Updating multiple aggregates in the same transaction? HOT 3
- Post on a closed discussion or closed forum
- How to use ValidationNotificationHandler HOT 1
- Limiting the modification of one aggregate per transaction
- isClosed() considered to be true invariant or not? HOT 7
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from iddd_samples.