A lively panel discussion with Eric Evans, Duncan DeVore, and Leo Gorodinski, hosted by Mike Feathers, on software architecture improvement, DDD, the ins and outs of microservices and much more.
Amit Rathore shares advice in building large scale applications in Clojure, making sure the code is readable and maintainable.
Eric Evans discusses three DDD patterns helping embedding CAP tradeoffs inside the domain model: Aggregates, Domain Events and Bounded Contexts.
Robert Reppel discusses applying DDD and SOLID techniques in order to improve legacy code, exemplifying with real code.
Eric Evans shares 4 strategies for dealing with messy legacy systems: Bubble Context, ACL Synchronization, Exposing Legacy Assets, and Domain Events Channel.
Oliver Gierke demoes using Spring Data JPA to create repositories using a Domain-driven Design approach.
Richard Pawson discusses a case study of a large pure OO project for the Irish government, presenting the challenges met, the reason for choosing pure OO, and lessons learned implementing it.
Ian Bond presents the development of a trade flow event-driven architecture, providing the background of futures trade, the domain and the solution, sharing some of the lessons learned along the way.
Vaughn Vernon advocates using DDD’s strategic modeling patterns when integrating services in a RESTful SOA implementation, avoiding one of SOA’s pitfalls: focusing on services rather than the domain.
Eric Evans advocates on gradual blending of modeling and design into iterative development in an attempt to create a solution that expresses the domain and is flexible enough to support changes.
Johnsson refreshes the listeners’ memory on using value objects showing by example how their good use can revolutionize a program’s architecture, simplifying it, making it more readable and testable.
Jimmy Nilsson explains why DDD is different: it builds on collaboration and feedback, incorporates deep domain knowledge, having as end result: reduced complexity, testability, and maintainability.