@@ -26,26 +26,26 @@ implementing the traits and consuming the effects defined in this crate.
2626
2727** ` Common ` ** is engineered to:
2828
29- 1 . ** Enforce Architectural Boundaries:** By defining all application
30- capabilities as abstract ` trait ` s, it ensures a clean separation between the
31- definition of an operation and its execution.
32- 2 . ** Provide a Declarative Effect System:** Introduces the ` ActionEffect ` type,
33- which describes an asynchronous operation as a value, allowing logic to be
34- composed, tested, and executed in a controlled ` ApplicationRunTime ` .
35- 3 . ** Standardize Data Contracts:** Defines all Data Transfer Objects (DTOs) and
36- a universal ` CommonError ` enum, ensuring consistent data structures and
37- error handling across the entire native ecosystem.
38- 4 . ** Maximize Testability and Reusability:** Because this crate is pure and
39- abstract, any component that depends on it can be tested with mock
40- implementations of its traits, leading to fast and reliable unit tests.
29+ 1 . ** Enforce Architectural Boundaries:** By defining all application
30+ capabilities as abstract ` trait ` s, it ensures a clean separation between the
31+ definition of an operation and its execution.
32+ 2 . ** Provide a Declarative Effect System:** Introduces the ` ActionEffect ` type,
33+ which describes an asynchronous operation as a value, allowing logic to be
34+ composed, tested, and executed in a controlled ` ApplicationRunTime ` .
35+ 3 . ** Standardize Data Contracts:** Defines all Data Transfer Objects (DTOs) and
36+ a universal ` CommonError ` enum, ensuring consistent data structures and error
37+ handling across the entire native ecosystem.
38+ 4 . ** Maximize Testability and Reusability:** Because this crate is pure and
39+ abstract, any component that depends on it can be tested with mock
40+ implementations of its traits, leading to fast and reliable unit tests.
4141
4242---
4343
4444## Key Features & Concepts 🔐
4545
46- - ** Declarative ` ActionEffect ` System:** A powerful pattern where operations are
47- not executed immediately, but are instead described as ` ActionEffect ` data
48- structures. These effects are then passed to a runtime for execution.
46+ - ** Declarative ` ActionEffect ` System:** Operations are not executed immediately
47+ — they are described as ` ActionEffect ` data structures and then passed to a
48+ runtime for execution.
4949- ** Trait-Based Dependency Injection:** A clean, compile-time DI system using
5050 the ` Environment ` and ` Requires ` traits, allowing components to declare their
5151 dependencies without being tied to a specific implementation.
@@ -104,7 +104,7 @@ let read_effect: ActionEffect<Arc<dyn FileSystemReader>, _, _> = FileSystem::Rea
104104let file_content = runtime . Run (read_effect ). await ? ;
105105```
106106
107- This separation is what makes the architecture so flexible and testable.
107+ This separation makes the architecture flexible and testable.
108108
109109---
110110
@@ -221,8 +221,8 @@ Common = { path = "../Common" }
221221A developer working within the ` Mountain ` codebase would use ` Common ` as
222222follows:
223223
224- 1 . ** Implement a Trait:** In ` Mountain/Source/Environment/ ` , provide the
225- concrete implementation for a ` Common ` trait.
224+ 1 . ** Implement a Trait:** In ` Mountain/Source/Environment/ ` , provide the
225+ concrete implementation for a ` Common ` trait.
226226
227227``` rust
228228// In Mountain/Source/Environment/FileSystemProvider.rs
@@ -239,8 +239,8 @@ impl FileSystemReader for MountainEnvironment {
239239}
240240```
241241
242- 2 . ** Create and Execute an Effect:** In business logic, create and run an
243- effect.
242+ 2 . ** Create and Execute an Effect:** In business logic, create and run an
243+ effect.
244244
245245``` rust
246246// In a Mountain service or command
0 commit comments