BT

Facilitating the Spread of Knowledge and Innovation in Professional Software Development

Write for InfoQ

Topics

Choose your language

InfoQ Homepage Domain Driven Design Content on InfoQ

  • Juval Löwy: Why Every Class Should Be a Service

    Juval Löwy has pioneered a method of building service-oriented applications in which each class represents a service onto itself. While these applications may initially seem like 'class explosion', they are actually the product of a truly decomposed system; one that has been properly analyzed and designed. Juwal explains his intent and describes how development teams can improve from this process.

  • Experiences Using Event Storming

    In the context of Domain-Driven Design (DDD), Event Storming is incredibly useful and valuable, Dan North claimed in his presentation at the recent DDD eXchange conference in London, explaining the basic mechanics of Event Storming and sharing his experiences from modelling different systems during the last few years.

  • Paul Rayner Says DDD and Agile Can Coexist

    Domain-driven Design can be a good complement to an agile practice and care taken up front to avoid a 'waterfall approach' to design can avoid the worst design of all: no design.

  • Eric Evans: Is Domain-Driven Design Beneficial for Software Development?

    The last couple of years the interest in Domain-Driven Design (DDD) has increased, Eric Evans noted in his keynote at the recent DDD eXchange conference in London. He thinks that we are in a time when developers care more about design, partially because we are working more with distributed systems where models have a higher value.

  • Working with Domain Experts in a DDD World

    Conversations with domain experts and the language used are central in Domain-Driven Design (DDD), but often this is hard because we don’t speak the same language, explained Cyrille Martraire in his presentation at the Domain-Driven Design Europe conference earlier this year when sharing his experiences working with domain experts in DDD-driven environments.

  • Vaughn Vernon: Challenges in Software Development of Today

    Projects and development teams are struggling with poorly designed systems, with many developers dedicated to patching systems just to keep them alive. Largely the software development culture is broken, Vaughn Vernon claimed in his presentation at the Domain-Driven Design Europe conference earlier this year, talking about problems he has encountered but also about solutions to these problems.

  • Domain-Driven Design and Microservices

    Eric Evans' talk at QCon London prescribed Domain Driven Design as a mechanism to successfully handle the "big ball of mud" that can emerge as multiple teams attempt to integrate services from external teams.

  • Using Domain-Driven Design When Creating Microservices

    Microservices and Domain-Driven Design (DDD) are not only about Bounded contexts, although a fundamental tool for defining granularity of microservices there are other important concepts as well. Correspondingly DDD is just not about entities and repositories, Michael Plöd claimed in his presentation at the recent microXchg conference in Berlin showing how DDD can be used creating microservices.

  • Combining User Story Mapping with Domain-Driven Design

    User Story Mapping can be a simple yet valuable pattern when adopting Domain-Driven Design (DDD) in projects dealing with complex domains. It can help creating shared domain knowledge among developers and domain experts, Eriksen Costa claims in a blog post discussing advantages combining User Story Mapping with Domain-Driven Design (DDD).

  • Moving from a Monolithic to a Microservices Architecture

    Moving from a monolith to microservices the only value business stakeholders care about is reducing cost. It will not increase or protect revenue and neither scaling nor distribution are good reasons that will convince the business, Ian Cooper claimed in his presentation at this year’s Microservices Conference in London describing guidelines moving from a monolith to a microservices architecture.

  • Domain Events and Eventual Consistency

    Eventual consistency is a design approach for improving scalability and performance. Domain events, a tactical element in Domain-Driven Design (DDD), can help in facilitating eventual consistency, Florin Preda and Mike Mogosanu writes in separate blog posts, each describing the advantages achievable.

  • Dino Esposito on CQRS, Messages and Events

    Command Query Responsibility Segregation (CQRS) is the starting point of a change that will have a profound impact on system architecture, Dino Esposito claims in three articles in MSDN Magazine. It’s the first step in an evolution transitioning software architects from the idea of “models-to-persist” to the idea of “events-to-log” and about event-based data instead of data snapshots.

  • Introducing DDD in a Project at “Which?”

    After failing with two proof of concept, mainly with scalability issues, when trying to renew their main website the business decided to take a more agile and incremental approach and in a restart of the project inspired by Domain-Driven Design (DDD) having developers talk with domain experts, Chris Patuzzo explains describing the principles of DDD in the context of a real project.

  • 10 Common DDD Mistakes to Avoid

    Not interacting with domain experts is one of a common set of mistakes done when using Domain-Driven Design (DDD), finding and correcting them early on may save a team time, Daniel Whittaker claims describing ten mistakes he regularly see developers do.

  • Udi Dahan on Reuse in Business Logic and Microservices

    Reuse has been a watch word for almost everything that has happened in system development during the last thirty years, but reuse is like cyanide; in really small portions it can be healthy, using it too much it starts doing a lot of damage, Udi Dahan claimed in his presentation giving a different perspective on business logic at this year’s DDD Exchange conference in London.

BT