Design Patterns
The idea of design patterns goes back to the mathematician and architect Christopher Alexander and was used by Erich Gamma, Richard Helm, Ralph Johnson, and John Vlissides in the seminal book Design Patterns applied as a tool for software development.
Design Patterns describe a solution idea for recurring problems and help a developer to create better solutions faster. Furthermore, they are also a common language that developers can use to exchange ideas across technology boundaries.
In addition to the original Gang of Four book, there are Martin Fowler's Patterns of Enterprise Application Architecture and Gregor Hohpe's Enterprise Integration Patterns , two other standard works on the subject. Some design patterns relating to Domain-Driven Design are described by Eric Evans in the "blue book" Domain-Driven Design . However, the domain event pattern central to CQRS and event sourcing today is not yet described there.