Skip to content

Commit ef04eb2

Browse files
vanroguclaude
andcommitted
Update CLAUDE.md to reflect Slice and BoundedContext naming changes
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 96254f2 commit ef04eb2

File tree

1 file changed

+6
-6
lines changed

1 file changed

+6
-6
lines changed

CLAUDE.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -80,16 +80,16 @@ The example demonstrates:
8080
The framework uses a builder pattern to create bounded contexts:
8181

8282
```java
83-
BoundedContext.newBuilder(MyContext.class) // MyContext extends EventTypes<D,I,O>
83+
BoundedContext.newBuilder(MyContext.class) // MyContext extends BoundedContext<D,I,O>
8484
.name("context-name")
8585
.eventStorage(eventStorage)
8686
.instance(instance)
8787
.rootPackage(RootClass.class.getPackage())
88-
.build(BoundedContextInterface.class)
88+
.build(MyContext.class)
8989
```
9090

9191
Key concepts:
92-
- **BoundedContext**: Main entry point providing `execute()` and `read()` capabilities
92+
- **BoundedContext**: Main entry point providing `execute()` and `read()` capabilities. Context interfaces extend `BoundedContext<D,I,O>` directly (e.g., `Banking extends BoundedContext<BankingEvent, BankingInboundEvent, BankingOutboundEvent>`)
9393
- **ServiceLoader pattern**: Implementation discovery uses Java ServiceLoader (see `BoundedContext.newBuilder()`)
9494
- **Three event types**: Domain events (internal), Inbound events (received), Outbound events (published)
9595
- **Instance**: Deployment/tenant identifier created via `InstanceFactory.determine()`
@@ -99,7 +99,7 @@ Key concepts:
9999
Features are organized as vertical slices:
100100

101101
1. **@FeatureSlice annotation**: Classes annotated with `@FeatureSlice` are discovered via package scanning
102-
2. **FeatureSliceConfiguration interface**: Slices implement this to configure themselves
102+
2. **Slice interface**: Feature slices implement `Slice<C>` where `C` is the bounded context type (e.g., `Slice<Banking>`)
103103
3. **Types of feature slices**:
104104
- `STATE_CHANGE`: Commands that change state
105105
- `STATE_READ`: Read models that project state
@@ -161,8 +161,8 @@ The framework supports the 4 Event Modeling patterns:
161161
- Commands: `*Command` (e.g., `OpenAccountCommand`)
162162
- ReadModels: `*ReadModel` (e.g., `AccountDetailsReadModel`)
163163
- Automations: `*Automation` (e.g., `ProcessPaymentAutomation`)
164-
- Feature slices: `*FeatureSlice` (e.g., `OpenAccountFeatureSlice`)
165-
- Bounded context interfaces: `*BoundedContext` (e.g., `BankingBoundedContext`)
164+
- Feature slices: `*FeatureSlice` (e.g., `OpenAccountFeatureSlice`), implementing `Slice<Context>` directly
165+
- Bounded context interfaces: Short names extending `BoundedContext<D,I,O>` (e.g., `Banking`, `OrderProcessing`)
166166
- Domain model: Often named `*Domain` (e.g., `BankingDomain`)
167167

168168
**Events:**

0 commit comments

Comments
 (0)