In the previous post, I delved a bit more into bounded contexts and some of the building blocks of the implementation. Now, let’s extend the implementation to domain events. Part 1 - Ecommer...
Hands-on DDD and Event Sourcing [2/6]: Strategic and Tactical Design
In the previous post, I presented the project, its motivation, and architecture. Now, it’s time to start checking some implementations. Part 1 - EcommerceDDD overview Part 2 - Strategic an...
Hands-on DDD and Event Sourcing [1/6]: EcommerceDDD overview
Part 1 - EcommerceDDD overview Part 2 - Strategic and Tactical Design Part 3 - Domain events and Event Sourcing Part 4 - Implementing Event Sourcing with MartenDB Part 5 - Wrapping up...
Visual Studio: .editorconfig and file-scoped namespaces
.NET 6 introduces with C#10 a new way for declaring namespaces called file-scoped namespaces. It means you can now declare a namespace per file with a one-line statement rather than nesting your co...
Pokégraph [2/3]: Evolving querying with GraphQL
In the previous post, I introduced the project and my take on modeling it based on domain-driven design approach, more specifically covering the Pokegraph.Domain project and its components. Now ...
Pokégraph [1/3]: Evolving querying with GraphQL
Here we go again with another series. Pokégraph is a small project where I built a catalog of pocket monsters (aka Pokémon) using domain-driven design principles, querying and changing data with...
Linq: TryGetNonEnumeratedCount
.NET 6 introduces the new TryGetNonEnumeratedCount() extension method on System.Linq namespace to determine the number of elements in a sequence without forcing an enumeration. bool TryGetNonEnume...
Linq: Three-way Zip
.NET 6 introduces an overload allowing a third argument for the Zip() extension method on System.Linq namespace. formerly, only 2 Enumerables were allowed. In summary, it will produce a sequence ...
C# 10: Record Class vs Record Struct
Before we start, it is essential to know that .NET categorizes objects as value types and reference types. The memory is managed in a way that value-type instances are stored statically with their ...
NDepend: My first impressions
Over the years, I’ve used several development tools. Consequently, I saw how drastically they evolved from simple code editors to very smart and extensible IDEs. The first one I used from Microso...
- EcommerceDDD++: Streamlining API Client Generation with Kiota and Koalesce
- Hands-on DDD and Event Sourcing [4/6]: Implementing Event Sourcing
- Hands-on DDD and Event Sourcing [5/6]: Wrapping up infrastructure
- Hands-on DDD and Event Sourcing [6/6]: Angular SPA and API consumption
- Hands-on DDD and Event Sourcing [2/6]: Strategic and Tactical Design