You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/articles/concepts/abstractions-first.md
+5-5Lines changed: 5 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -4,18 +4,18 @@ SquidStd is built abstractions-first: code depends on contracts, and concrete ba
4
4
5
5
## Contract package plus provider packages
6
6
7
-
Each capability is a contract package paired with one or more provider packages. The contract package —`*.Abstractions`— defines the interfaces and DTOs. Provider packages implement them. Your application references the abstraction and depends on the provider only in the host project. See the [architecture](architecture.md) overview for how this shapes the package graph.
7
+
Each capability is a contract package paired with one or more provider packages. The contract package -`*.Abstractions`- defines the interfaces and DTOs. Provider packages implement them. Your application references the abstraction and depends on the provider only in the host project. See the [architecture](architecture.md) overview for how this shapes the package graph.
8
8
9
9
## In-memory for tests, external for prod
10
10
11
11
Most capabilities ship an in-memory provider for tests and an external-backend provider for production:
12
12
13
-
-**Messaging**— in-memory, or `SquidStd.Messaging.RabbitMq` / `SquidStd.Messaging.Sqs`.
14
-
-**Caching**— in-memory, or `SquidStd.Caching.Redis`.
15
-
-**Storage**— file-backed, or `SquidStd.Storage.S3` (S3 and MinIO).
13
+
-**Messaging**- in-memory, or `SquidStd.Messaging.RabbitMq` / `SquidStd.Messaging.Sqs`.
14
+
-**Caching**- in-memory, or `SquidStd.Caching.Redis`.
15
+
-**Storage**- file-backed, or `SquidStd.Storage.S3` (S3 and MinIO).
16
16
17
17
Tests run fast and deterministically against the in-memory provider; production swaps in the external backend.
18
18
19
19
## Swapping providers without touching call sites
20
20
21
-
Because call sites depend only on the contract, switching backends is a registration change in the host —`container.AddInMemoryMessaging()` versus `container.AddRabbitMqMessaging(...)`— with no edits to the code that publishes or consumes messages. See [dependency injection](dependency-injection.md) for the registration pattern that makes the swap a one-line change.
21
+
Because call sites depend only on the contract, switching backends is a registration change in the host -`container.AddInMemoryMessaging()` versus `container.AddRabbitMqMessaging(...)`- with no edits to the code that publishes or consumes messages. See [dependency injection](dependency-injection.md) for the registration pattern that makes the swap a one-line change.
Copy file name to clipboardExpand all lines: docs/articles/concepts/messaging-models.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,7 +8,7 @@ The Event Bus (`IEventBus`) is a stateless broadcast. Publishers call `PublishAs
8
8
9
9
## Command Dispatcher
10
10
11
-
The Command Dispatcher is a stateless request routed to a single handler that returns a result. Unlike the Event Bus there is exactly one handler per command, and the caller awaits its result. Use it for request/response work — validating input, performing an operation, returning an outcome — where ownership of the action is unambiguous.
11
+
The Command Dispatcher is a stateless request routed to a single handler that returns a result. Unlike the Event Bus there is exactly one handler per command, and the caller awaits its result. Use it for request/response work - validating input, performing an operation, returning an outcome - where ownership of the action is unambiguous.
0 commit comments