Skip to content

Commit

Permalink
Resolving comments for the Basic Concepts section. Aggregate Mirror c…
Browse files Browse the repository at this point in the history
…oncept added.
  • Loading branch information
meizabel committed Apr 4, 2019
1 parent 30e1445 commit 87b14ab
Show file tree
Hide file tree
Showing 9 changed files with 22 additions and 17 deletions.
10 changes: 10 additions & 0 deletions concepts/aggregate-mirror.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
---
title: Aggregate Mirror
headline: Aggregate Mirror
bodyclass: docs
layout: docs
sidenav: doc-side-concepts-nav.html
type: markdown
---
<h2 class="top">Aggregate Mirror</h2>
Aggregate Mirror contains the latest state of an Aggregate. It “reflects” how it ”looks” at the time of the last update.
2 changes: 1 addition & 1 deletion concepts/bounded-context.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ type: markdown
Bounded Context is an autonomous component with its own domain model and its own Ubiquitous Language.
Large systems usually have multiple Bounded Contexts.

For example, you can consider orders, user management, shipping as examples of the separate contexts within online retail system.
For example, you can consider `Orders`, `User management`, `Shipping` as examples of the separate contexts within online retail system.

In Spine, interaction between Bounded Contexts is organized using Integration Events.

4 changes: 1 addition & 3 deletions concepts/command.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,7 @@ type: markdown
---
<h2 class="top">Command</h2>

Commands are messages that instruct an entity within Spine framework to perform a certain action. Compared with events, command is not a statement of fact. They are a request, and, thus, can be refused.

A typical way to convey refusal is to throw an error or failure.
Commands are messages that instruct an entity within Spine framework to perform a certain action. Compared with events, command is not a statement of fact. They are a request, and, thus, can be refused. A typical way to convey refusal is to throw an error or rejection.

In Spine, commands are defined as a Protocol buffer messages.

Expand Down
2 changes: 1 addition & 1 deletion concepts/event.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,4 +10,4 @@ type: markdown

Event is something that happened in the past. All changes to an application state are captured as a sequence of events. Events are the main “database” of the application.

In Spine, events are defined as Protocol buffer messages.
In Spine, events are defined as Protobuf messages.
2 changes: 1 addition & 1 deletion concepts/identifier.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,4 @@ Spine framework supports the following types of identifiers:
* String,
* A generated Java class implementing the `Message`.

We recommend you to select Identifiers for your IDs and encourage using message-based IDs to to make your API `strongly pronounced` and `type-safe`.
We recommend you to select Identifiers for your IDs and encourage using message-based IDs to to make your API strongly pronounced and type-safe.
1 change: 0 additions & 1 deletion concepts/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ We assume that you are familiar with the basics of Domain-Driven Design.

Below you can find a typical Spine Event Engine application architecture; its building blocks are also described below.

To be added: Spine Event engine architecture overview.



Expand Down
10 changes: 4 additions & 6 deletions concepts/rejection.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,8 @@ type: markdown
<h2 class="top">Rejection</h2>

Rejection is a state of business logic which can be handled by the end user.
Consider the following examples of rejections:
* “credit card validation declined”,
* “order cannot be empty”,
* “insufficient funds”.

In Spine, rejections are defined as Protocol buffer messages.
In Spine, rejections are defined as Protocol buffer messages. Consider the following examples of rejections:
* `CreditCardValidationDecllined`,
* `OrderCannotBeEmpty`,
* `InsufficientFunds`.

5 changes: 3 additions & 2 deletions concepts/snapshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,6 @@ type: markdown
---
<h2 class="top">Snapshot</h2>

Snapshot is a state of an Aggregate. A snapshot ”sits” in between events in the history, so that you do not have to replay them all.
You read events backwards until you encounter a snapshot, then apply it to the Aggregate, and then play trailing events.
Snapshot is a state of an Aggregate. A snapshot ”sits” in between events in the history.

`AggregateStorage` reads events backwards until encounters a snapshot, applies it to the Aggregate, and plays trailing events.
3 changes: 1 addition & 2 deletions concepts/stand.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,5 +8,4 @@ type: markdown
---
<h2 class="top">Stand</h2>

Stand provides the latest states of Aggregates. It may return a complete state or its fragment (if the query requests only partial representation).

Stand is a read-side API façade of a BoundedContext.

0 comments on commit 87b14ab

Please sign in to comment.