DDD Weekly: Issue #37

June 1, 2017

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

Alberto Brandolini - Transactions Redefined [video] Alberto Brandolini - DDD Europe 2017. Domain-Driven Design Europe 2017.

Martin Kleppman - Event Sourcing and Stream Processing at Scale [video] Martin Kleppman - DDD Europe 2017. Domain-Driven Design Europe 2017: This talk attempts to bridge those communities, and works out the commonalities and differences between Event Sourcing and Stream Processing, so that we can all learn from each other.

Event Sourcing: A New Dimension in Software Design [video] Vladik Khononov. The focus of my talk will be the Event Sourcing pattern, but I’ll also briefly describe CQRS - an architecture that goes hand in hand with Event Sourcing. This knowledge will allow you to employ this powerful pattern in your next project.*

Udi Dahan - If (domain logic) then CQRS, or Saga? [video] Udi Dahan - DDD Europe 2017. The “if” statement – the guard clause that makes sure that what shouldn’t happen, can’t happen. We see it all over our code base, especially in our domain logic. The thing is, when we use properties of domain objects in those if-statements, we don’t even realize that other agents may have just changed that data – or will change it just a second later. In essence, hiding behind those little “ifs”, are all kinds of race conditions and collaborative domains – the places where CQRS approaches are necessary. Join Udi for a different perspective on domain logic, CQRS, and long-running processes. It will be quite a saga.

Using Polly with F# async workflows [blog] Mark Seemann. I recently had to add a Circuit Breaker to an F# async workflow, and although Circuit Breaker isn’t that difficult to implement (my book contains an example in C#), I found it most prudent to use an existing implementation. Polly seemed a good choice.

Akka.NET: Concurrency without the Pain [slides] Aaron Stannard. But let’s face it: even with nice tools like the TPL and async / await, multi-threaded concurrent programming has typically been a bottomless pit of despair, Heisenbugs, and lessons learned the hard way… None of this is true with Akka.NET and the actor model: a powerful programming methodology that makes building concurrent applications easy, fun, and much more powerful than what we had before.

Domain Modeling Made Functional [book] Scott Wlaschin. For today’s race, you want increased customer satisfaction, faster development cycles, and less wasted work. Domain-driven design (DDD) combined with functional programming is the innovative combo that will get you there. Learn the skills you need with Domain Modeling Made Functional: Tackle Software Complexity with Domain-Driven Design and F#, now in beta from pragprog.com/book/swdddf.

Actor model and the using of Akka.NET [blog] Rubikscode. In the same time when first object-oriented languages were emerging, another concept inspired by general relativity and quantum mechanics was taking shape – actor model. In general terms, the Actor model was defined 1973. and was developed on a platform of multiple independent processors in a network. Similar to the object-oriented approach, this essentially mathematical model, revolved around the concept of actors.

Event Sourcing in Production - Real-Time CQRS/DDD .NET Apps with EventStore [meetup] Matt Barrett, Daniel Smith. Barcelona .NET Core Meetup: Tuesday, June 13, 2017.

How Do Committees Invent? [article] Melvin E. Conway (1968). Any organization that designs a system (defined more broadly here than just information systems) will inevitably produce a design whose structure is a copy of the organization’s communication structure.

Just in time for the weekend: a new chapter, about “Service Boundaries” https://leanpub.com/microservices-for-everyone/ [book] Matthias Noback.