Week 49, year 2017

  • How Event Sourcing can improve your tests - Learn how your code can become easier to test by implementing it using Event Sourcing as a modeling paradigm. [Serialized development blog]
  • .NET Value Type (struct) as a DDD Value Object - I got a suggestion recently about using .NET structs to represent DDD Value Objects to which I repeated what I’ve been saying and writing for several years now: structs are not a good choice for DDD Value Objects. But then I realized that I never actually dove into the details of why it is so. So here it is, the blog post where we’ll talk about using .NET Value Types (structs) as DDD Value Objects and what effect it has on the domain model, performance, and mapping the model to the database using ORMs. [Enterprise Craftsmanship]
Permalink | From 04 December 2017 to 10 December 2017 | Last updated on: Mon, 7 Jun 2021 09:11:14 GMT

Week 48, year 2017

  • DDD Weekly: Issue #50 - It’s not just about events! [blog] Frans van Buul. Event-driven architecture is great and has a lot to offer for microservices systems. And, let’s not step into the trap of thinking that all communication should take place via events – there are some very clear reasons why this is an anti-pattern. Microservices with DDD: To Event Source or Not [blog] Vaughn Vernon. …So, before asking me or anyone else for affirmation that Event Sourcing makes sense for your system or any given Bounded Context as a microservice, consider the above. [DDD Weekly]
Permalink | From 27 November 2017 to 03 December 2017 | Last updated on: Mon, 7 Jun 2021 09:10:49 GMT

Week 47, year 2017

  • DDD Weekly: Issue #49 - Forget me please? Event sourcing and the GDPR [blog] Michiel Rook. In May 2018, a new piece of EU legislation called the General Data Protection Regulation (GDPR) will come into effect. The GDPR attempts to regulate data protection for individuals within the EU and has very interesting and specific implications for applications that use event sourcing. In this article, I’ll discuss my thoughts on this subject and a few pointers for those implications. [DDD Weekly]
Permalink | From 20 November 2017 to 26 November 2017 | Last updated on: Mon, 7 Jun 2021 09:10:49 GMT

Week 45, year 2017

  • 3 Reasons to Model Identity as a Value Object - On of the defining characteristics of an Entity is that it has identity. From the Blue Book: “Some objects are not defined primarily by their attributes. They represent a thread of identity that runs through time and often across distinct representations… An object defined primarily by its identity is called an ENTITY” (Evans, 91) There are different ways of representing identity. In our CRUD world, we might use a Guid or an int that’s stored as a primary key in a SQL table. In DDD implementations, you might see a different pattern - using Value Objects as identifiers for Entities. What’s the point in doing that? [Nick Chamberlain on Nick Chamberlain]
Permalink | From 06 November 2017 to 12 November 2017 | Last updated on: Mon, 7 Jun 2021 09:09:18 GMT

Week 44, year 2017

  • DDD Weekly: Issue #48 - Concurrent commands in event sourcing [blog] Michiel Rook. In this post I want to talk a little about concurrency in the context of CQRS and event sourcing. Specifically, when a single aggregate is concurrently accessed by two commands (or command handlers, really). Publishing with Apache Kafka at The New York Times [blog] Boerge Svingen. … this is a new way of building applications, and it requires a mental shift for developers who are used to working with databases and traditional pub/sub-models. [DDD Weekly]
  • Exposing private state to enable unit testing - Last time, we talked about making private methods public in order to enable unit testing. It’s not the only way people expose implementation details to the outside world for unit testing purposes, though. Today, we’ll look at a similar anti-pattern: exposing private state. [Enterprise Craftsmanship]
Permalink | From 30 October 2017 to 05 November 2017 | Last updated on: Mon, 7 Jun 2021 09:11:14 GMT

Week 43, year 2017

  • Pre-orders open for my new ebook! - This is just a post to let any of my RSS feed readers know about my new book: Event Sourcing and CQRS with .NET Core and SQL Server. I’ll be sharing a lot more info via my mailing list including discount codes and launch dates, so make sure you sign up below so you don’t miss out! [Nick Chamberlain on Nick Chamberlain]
  • An easy way to test your projections - We have developed an online tool to make it easy for you to test your projection definitions and make sure they behave as you expect [Serialized development blog]
  • DDD Weekly: Issue #47 - Event Sourced Aggregates Part 1: Outline of a typical implementation [blog] Christian Horsdal Gammelgaard. This is the first post in a series of posts that takes its offset in a design problem I’ve encountered repeatedly with event sourced aggregates: They grow every time a feature is added. Nothing (almost) is removed from them, so over time they grow very big and gnarly. Why does this happen? Because typical implementations of event sourced aggregates violate the Open/Closed principle. [DDD Weekly]
  • Unit testing private methods - I’m starting a new series about unit testing anti-patterns. This post is the first article in that series. When it comes to unit testing, one of the most commonly asked questions is: how to test a private method? [Enterprise Craftsmanship]
Permalink | From 23 October 2017 to 29 October 2017 | Last updated on: Mon, 7 Jun 2021 09:11:14 GMT