Archive for October 2017

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

Week 42, year 2017

  • DDD Weekly: Issue #46 - Event Sourcing and CQRS with .NET Core and SQL Server [book] Nick Chamberlain. *My new book is available for pre-order now! For being such a wonderful and loyal subscriber, use promo code: fpc-preorder for a $10 discount. Please stay tuned for more about launch dates!* Explore DDD 2017 Videos Live on YouTube [video] Paul Rayner. Software architecture is failing [blog] Alex Hudson. I believe that if you don’t encounter the constraints of the layers underneath you, you’re not working at a high enough level. [DDD Weekly]
Permalink | From 16 October 2017 to 22 October 2017 | Last updated on: Mon, 7 Jun 2021 09:10:49 GMT

Week 41, year 2017

  • Handling Non-Aggregate Root Events for Child Entities - How should events be applied to child Entities when the Aggregate Root ultimately handles incoming commands? For example, constructing an Entity that is within the Aggregate Root boundary. Where do you call the constructor so that the constructor obeys the invariants being protected by the Entity? [Nick Chamberlain on Nick Chamberlain]
  • How to do better domain modeling using Event Sourcing - Learn how to implement your domain model using event sourcing as the storage for your aggregates. Your code will be clearer by the separation of state from domain logic and support for infrastructure-free immutable implementation. [Serialized development blog]
  • Your software is not your most valuable asset - A short story about why the most important thing in your development company is not your [Serialized development blog]
  • How to Handle Set Based Consistency Validation in CQRS - This question keeps cropping up. How do you handle set based consistency validation in CQRS. In fact, one of my subscribers had this scenario: “I have a user registration system with login/password. The login must be unique in the system. How do I implement such a requirement?” Just in case you are not familiar with CQRS and […] [Learn CQRS and Event Sourcing]
  • DDD Weekly: Issue #45 - Building Evolutionary Architectures [book] Patrick Kua.) While I’m sure we have much to learn about doing software architecture in an evolutionary style, this book marks an essential road map on the current state of understanding Vaughn Vernon Uses Reactive DDD to Model Uncertainty in Microservices [blog] Thomas Betts, Vaughn Vernon. Don’t try to create a façade that allows you to think you aren’t in a state of uncertainty. Rather, make your best effort and model the uncertainty. [DDD Weekly]
Permalink | From 09 October 2017 to 15 October 2017 | Last updated on: Mon, 7 Jun 2021 09:10:49 GMT

Week 40, year 2017

  • Why we Avoid Putting Value Objects in Events - What’s the harm in putting Value Objects in your Events? Say we have the following event: public class PlannedNewRoastDay : Message { public readonly Guid Id; public readonly string RoastDate; public PlannedNewRoastDay(Guid id, string roastDate) { Id = id; RoastDate = roastDate; } } [Nick Chamberlain on Nick Chamberlain]
  • Event Sourcing example application - This is code example for a simple Event Sourcing and CQRS application using Javascript. [Serialized development blog]
  • A simple ToDo app - We have created a small ToDo application do demonstrate how to use our API:s to build a CQRS/EventSourcing application [Serialized development blog]
  • DDD Weekly: Issue #44 - What Everyone Gets Wrong About Stakeholders [blog] Melissa Perri. Designing for consensus of internal people who do not use or buy the products just creates terrible products. Antifragile Software [book] Russ Miles. This book is a collection of patterns that you can apply to build software that thrives on change and the disorder it brings. Streams: a new general purpose data structure in Redis [blog] Salvatore Sanfilippo. One very important use case is time series, but my feeling is that also streaming of messages for other use cases via TREAD is going to be very interesting both as replacement for Pub/Sub applications that need more reliability than fire-and-forget, and for completely new use cases. [DDD Weekly]
  • Domain events: simple and reliable solution - Today, I’d like to write about a simple and reliable way to implement domain events. [Enterprise Craftsmanship]
Permalink | From 02 October 2017 to 08 October 2017 | Last updated on: Mon, 7 Jun 2021 09:11:14 GMT