InfoQ Homepage Domain Driven Design Content on InfoQ
-
Late Architecture with Functional Programming
Many approaches to software architecture assume that the architecture is planned at the beginning. Unfortunately, architecture planned in this way is hard to change later. Functional programming can help achieve loose coupling to the point that advance planning can be kept to a minimum, and architectural decisions can be changed later.
-
Domain-Driven Design with Value-Added Services and Domain Gateways at SoundCloud
Two articles were recently published to describe SoundCloud’s service architecture evolution towards implementing Domain Gateways, with a stop at Value-Added Services on the way. The authors describe how these Domain-Driven Design-based patterns helped reduce duplications and homogenise business and authorisation logic.
-
EventStoreDB 20.10 Released with Support for gRPC and Improved Security
EventStore Ltd has released EventStoreDB 20.10, a major release of their platform that helps build applications utilizing the Command Query Responsibility Separation (CQRS) and Event Sourcing (ES) patterns.
-
Interview with Event Modeling Founder - Adam Dymitruk
Q&A with Adam Dymitruk about the Event Modeling Project: its genesis, reason for existence, feature set and future plans.
-
Evolving Architecture with DDD and Hypermedia: Einar Høst at DDD Europe
Hypermedia is an enabler for a better architecture, Einar Høst claimed in his presentation at the recent DDD Europe 2020 conference in Amsterdam. In his talk he described the architecture challenges at NRK TV, the TV streaming service at the Norwegian public broadcaster, and how they migrated their monolithic architecture into a more modular design and implemented hypermedia in their Player API.
-
Balancing Coupling in Distributed Systems: Vladik Khononov at DDD Europe
We have been told that coupling is bad, so we decouple everything and break everything apart into tiny services that can be changed independently. But by following this reasoning we often end up with a distributed mess, Vladik Khononov noted in his presentation at the recent DDD Europe 2020 conference in Amsterdam. Instead of fighting coupling, he proposes that we use it as a design tool.
-
Dissecting Bounded Contexts: Nick Tune at DDD Europe
There are many reasons for breaking up systems and making them more modular, Nick Tune noted in his keynote at the recent DDD Europe 2020 conference. We lower the cognitive load, teams can work independently, and from a business perspective we can do more granular investments. In his presentation, Tune discussed how by dissecting bounded contexts we can find more options when designing them.
-
Vlingo Joins the Reactive Foundation
Vlingo, creators of a platform designed to simplify building reactive systems using an actor model, has joined the Reactive Foundation. Launched in September, the Reactive Foundation was formed under the Linux Foundation to accelerate technologies for building the next generation of networked applications. Vlingo is a new charter member, joining Alibaba, Facebook, Lightbend, Netifi and Pivotal.
-
The Swift Method: A Framework for Software Modernization Using DDD
The Swift Method is a set of techniques for analyzing complex legacy systems, and determining the work required to gradually modernize key components or the whole system.
-
Sense and Nonsense in Event Thinking and Microservices
Modularity in the systems we are building is very important, but there are anti-modularity forces that we must deal with to be able to achieve this modularity. In a presentation at the recent Event-driven Microservices Conference, held by AxonIQ, Allard Buijze shared his thoughts and experience building systems based on DDD, CQRS, microservices and event sourcing.
-
Design and Implementation of a DDD-Based Modular Monolith
Kamil Grzybek recently published a project where he has designed, implemented, and in detail described a monolithic application with a Domain-Driven Design (DDD) approach. His goal is to show how a monolithic application can be designed and implemented in a modular way. He also discusses some architectural considerations and design patterns he has found useful in the application.
-
Eric Evans Wants to Improve the Language of DDD
Eric Evans wants architects to actively engage in improving the language used when modeling and designing complex systems. Some of the fundamental terms used in DDD, such as Bounded Contexts, are often misunderstood. Evans wants to see an active community try to address these concerns, with the goal that DDD "should be a real, living body of thought."
-
Practical Domain-Driven Design with Events and Microservices - Indu Alagarsamy at QCon New York
Domain-driven design (DDD) concepts like Bounded Contexts and Messaging technologies can be used to build reliable systems that can scale with the business changes. Indu Alagarsamy recently spoke at QCon New York 2019 Conference about using the combination of well-defined bounded contexts and events to develop autonomous microservices that are flexible to adapt to the business changes.
-
Defining Bounded Contexts — Eric Evans at DDD Europe
A bounded context is a defined part of software where particular terms and rules apply in a consistent way, Eric Evans explained in his keynote at DDD Europe earlier this year; it should have a refined model and a language with unambiguous definitions. In a recently published presentation, he describes different kinds of bounded contexts, including some that involve microservices.
-
Migrating a Retail Monolith to Microservices: Sebastian Gauder at MicroXchg Berlin
In his presentation at MicroXchg in Berlin, Sebastian Gauder described how he and his teams migrated an existing food retail monolith at REWE, a large German company, into several business domains with 270 microservices, while increasing the number of teams from two up to 48. He also discussed the different design goals and rules they setup to make this possible.