Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rename Equinox.Stream -> Decider #272

Merged
merged 2 commits into from
Feb 19, 2021
Merged

Rename Equinox.Stream -> Decider #272

merged 2 commits into from
Feb 19, 2021

Conversation

bartelink
Copy link
Collaborator

@bartelink bartelink commented Jan 26, 2021

Finally, a nice name for it; based on thinking shared by @thinkbeforecoding on DDD-CQRS-ES slack

@thinkbeforecoding
Copy link

thinkbeforecoding commented Jan 26, 2021

To give more information about the reason of the name:

  • Stream is linked the the specificity of the storage in an Event Sourcing system
  • Aggregate (in DDD terminology) is too much about the shape (which tend to disappear in an Event Sourcing system)

Finally the the role of this is to take decision (in autonomie, not relying on other information).
it signature is:

decide : Command -> State -> Event[]
evolve: State -> Event -> State
initialState: State

it can be made a pure decider by having State = Event[]:

initialState: []
evolve: State -> Event -> Event[]  // just append event to list

and the decider becomes (but avoid it, it's less efficient at runtime, but it's equivalent conceptually):

decide: Command -> history:Event[] -> Event[]

Here is the reason to call it Decider

@bartelink bartelink changed the title Stream -> Decider Rename Stream -> Decider Jan 26, 2021
@bartelink
Copy link
Collaborator Author

I'm intending to merge this prior to the first RC release of V3

@bartelink bartelink marked this pull request as ready for review February 15, 2021 11:40
DOCUMENTATION.md Outdated Show resolved Hide resolved
DOCUMENTATION.md Outdated Show resolved Hide resolved
@thinkbeforecoding
Copy link

Seems to small comments changes, but good!
The Decider term start to be used in the eventsourcing community (at least on the DDD + EventModeling slacks)

@bartelink bartelink changed the title Rename Stream -> Decider Rename Equinox.Stream -> Decider Feb 15, 2021
@bartelink bartelink added this to the 3.0 milestone Feb 17, 2021
@bartelink bartelink merged commit 33422f6 into master Feb 19, 2021
@bartelink bartelink deleted the decider branch February 19, 2021 10:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants