DDD Weekly: Issue #55

September 30, 2018

You are also opting in for interesting, DDD-related emails from buildplease.com

Code that? It is cheaper to get a human [blog] Ayende Rahien. Indeed, putting a human in the loop can in many cases be a great thing. A good example of that can be in order processing. If I can write just the happy path, I can be done very quickly. Anything not in the happy path? Let a human deal with that.

How to improve your UX designs with Task Analysis [blog] Andreas Komninos. Task Analysis is a simple exercise that UX designers can undertake during the definition of a problem, which can help not just in identifying where opportunities to improve the user experience exist but also to generate some preliminary ideas as to how you might approach these challenges. Let’s find out how.

Event Sourcing in .NET - Building fast autonomous projections [blog] Dennis Doomen. A lot of libraries tend to ease the adoption by introducing base-classes that should get you going pretty fast. However, quite often these tend to hide too much magic and force you in a certain direction. And if you need something that the library wasn’t designed for, you’re either stuck or you have to fork the library and create your own version. With that said, let me introduce Liquid Projections for .NET.

The Challenges and Traps of Architecting Sociotechnical Systems [blog] Nick Tune. From personal experiences, I’m sure we’ve all learned that getting the boundaries right in sociotechnical systems is extremely important yet monstrously difficult. And there’s more research to back it up.

How Events Are Reshaping Modern Systems [video] Jonas Bonér. Jonas Bonér explores the nature of events, what it means to be event-driven, and how to unleash the power of events.

When People and Machine (Learning) collide [blog] Enrico Meloni. Interview with Mathias Brandewinder… Author of the book “Machine Learning Projects for .NET Developers”, Mathias Brandewinder is 360° expert of all the things Microsoft, F# and Machine Learning.

The DDD Do-Over [interview] Thomas Betts, Jimmy Bogard. At the 2017 Explore DDD conference, Jimmy Bogard spoke about a rare opportunity to have what he considered a “do-over” on a project. While not a complete, start-from-scratch rewrite, he worked on two very similar projects, for related companies. InfoQ met with Jimmy to discuss how the lessons learned from the first project were applied to make the second more successful.

Eric Evans Says Domain-Driven Design (DDD) Isn’t Done [blog] Thomas Betts, Eric Evans. “DDD has been shaken up a few times in the past 15 years. I think it’s time for another big shakeup.”

Three approaches to Domain-Driven Design with Entity Framework Core [blog] Jon P Smith. While I think a DDD approach is useful, it’s a trade-off of features and limitations whichever way you go. In the end it depends on a) your application and b) what you feel comfortable with

What they don’t tell you about event sourcing [blog] Hugo Rocha. Event sourcing and CQRS gained a lot of popularity recently. The advantages are obvious and they share a very peculiar symbiosis with each other and with the current tech state of the art making them very relevant. However after working for several years with them in production there are several caveats that one should care for.

Clustered Event Sourcing and CQRS with Akka and Java [video] Hugh McKee. In this talk, we will take a look at motivations for and the architecture of ES & CQRS. We will also dig into an example implementation of ES & CQRS implemented with Akka and Java. The Akka toolkit provides an actor based implementation of Event Sourcing & CQRS, which means that you can build solutions that run in distributed clusters. We will also look at how Akka Persistence is built on other Akka features, such as cluster singletons and cluster sharding.

Notes on “A Philosophy of Software Design.” [blog] Will Larson. A Philosophy takes a look at complexity in software, and wants you “to use complexity to guide the design of software through its lifetime.” The author ran an undergraduate course on software design, modeled after the approach to teaching writing essays (draft, write, critique, rewrite, critique, rewrite again), and used that experience, combined with a long career of developing many lage systems, to develop categories of complexity and mitigations.

This is massive: I just released a new version of the #EventStorming book… [tweet] Alberto Brandolini.

DDD/CQRS/ES [github org] Oğuzhan Soykan. DDD CQRS Event Sourcing community