In the previous post, previous post a bit more into bounded context and some of the building blocks of the implementation. Now, let’s extend the implementation to domain events. Part 1 - Pro...
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 implementation. Part 1 - Project’s overview Part 2 - Strategic and Tac...
Hands-on DDD and Event Sourcing [1/6] - Project's overview
Part 1 - Project’s 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 in...
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 - Evolving querying with GraphQL - 2/3
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 - Evolving querying with GraphQL - 1/3
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...
- Streamlining API Client Generation with Kiota and Koalesce
- 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 [1/6] - Project's overview
- Hands-on DDD and Event Sourcing [2/6] - Strategic and Tactical Design