(Domain) Commands

The 2nd stop on my fact-driven journey

Martin Schimak ☕
Eventually Consistent

--

  1. Business Rules
  2. (Domain) Commands
  3. Aggregates and Sagas are Processes
  4. The Distributed Execution of Processes

In my first post about business rules I mentioned that I have three truly “essential” ingredients when modeling software along a timeline: 1) Domain events, 2) Commands and 3) Business rules. As I started this journey with number three, business rules, I guess I move on to number two … commands!

However, this post is not so much about EventStorming, but dives more into architectural stuff. In case you are interested you need to read a bit today! :-o

Again, I want to write about a small semantical “shift” that happens to my “mental software meta model”. :-) But this shift regarding commands happens so slowly and gradually, that I believe now: I myself did not conciously see it happening for quite some time! Maybe I can start to express it today: I think that commands (and similar: queries) can and should, if needed and appropriate, be modeled as domain relevant facts … from point of view of the command (or: query) client.

Commands as “facts”?

Maybe some of you will think now: “of course”! But maybe some others will think that this…

--

--

Martin Schimak ☕
Eventually Consistent

I’m #storystorming your business 🤟 Modeling #DDDesign Collaboration 🍡 Processes, Sagas in Distributed Systems 👷‍♂️ @dddvienna @reactivevienna