Comments (3)
It's more meaningful to have events which are used in a module locally and those which are published to the outside world. You can model the visibility by putting the event definition into the API oder implementation layer.
So in my opinion it's not necessary to have special semantics for domain events and event sourcing events.
from jmolecules.
@OLibutzki this is very close to the discussion with @smcvb in Axon Discuss regarding the Local Event Store Support(https://discuss.axoniq.io/t/local-event-store-support/2980/19)... Marking event visibility seems to be a good thing... The only problem is, that you already introduced the DomainEvent
concept here... And a pivotal event is probably not a domain event...
Do you have an idea how to resolve this?
from jmolecules.
@zambrovski the linked issue is in a protected forum section, so the others cannot access it I fear.
Anyway, I don't think you necessarily need t mark them explicitly...
You can derive their scope from the actual usage.
If you want to introduce certain architectural constraints like It's not allowed to use a EventSourcingEvent/LocalEvent (you name it) outside of a module you need to have some assistence.
You can have a explicit annotation or interface, but you can also derive the information from the event's package, if you split up the api and the impl part.
There are a lot of options.
from jmolecules.
Related Issues (20)
- `ValueObject` interface for KMolecules HOT 7
- Release 1.9
- Upgrade to Kotlin 1.8.22
- Upgrade to JUnit 5.10
- Upgrade to AssertJ 3.24.2
- Nesting of multiple Entities / AggregateRoots? HOT 1
- Code typo in README.md file HOT 2
- Update copyright headers
- Somewhat lacking documentation
- Expand @BoundedContext with Bounded Context relationship infos to plot Context Map
- Release 1.6
- Add jmolecules-hexagonal-architecture to bom HOT 1
- How to use the package annotations in Kotlin? HOT 2
- Bound of `T` for `ddd.types.Entity<T, ID>` is wrong? HOT 1
- Consistency in CQRS architecture package names
- Release 1.7
- Add Clean Architecture to architectures HOT 6
- `@Identity` annotation is missing in `kmolecules-ddd` HOT 3
- Add support to qualify domain events as to-be-externalized
- Release 1.8
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 jmolecules.