Training: "Domain-Driven Design - a complete example in a current technology stack"
Monday 13:00 - 16:00
In this intensive half-day tutorial we will explore how a system architecture based on patterns from Domain-Driven Design can be implemented using Spring and Hibernate, a modern and popular opensource technology stack in Java, to build software for complex domains. The tutorial is based on the sample application that has been developed together with Eric Evans, available at http://dddsample.sf.net
.During this tutorial we will shift between presentations, in-depth code exploration and discussions.
- Short introduction to Domain-Driven Design, DDD
- Repetition of relevant patterns and concepts from DDD, with focus on tactical design; including Associations (Entities, Value Objects, Services), Life Cycle (Aggregates, Repositories), Isolation of the Domain, and parts of Supple Design
- Presentation and walk-through of the DDD Sample Application where patterns and concepts from DDD will be explored in the context of a working application
- Discussion on alternative frameworks and ways of implementation
- Participants will gain knowledge and understanding of how
- Patterns from DDD can be used to build applications based on current popular open-source frameworks
- The DDD Sample Application can be used to explore DDD patterns, as basis for experimentation, or starting point for building enterprise applications
- How DDD can be used to build software to solve problems in complex domains, while keeping technical complexity at a minimum
Developers and Architects
Practical experience from using Spring and Hibernate, or similar
frameworks such as EJB 3.
Basic knowledge about Domain-Driven Design, with focus on implementation (Part 2, "The Building Blocks of a Model-Driven Design", in Eric's book).
The tutorial will be delivered by Patrik Fredriksson and Peter Backlund. Patrik is a certified instructor by Eric Evans and Domain Language, Inc, Peter is the lead developer of the DDD Sample Application. They both work as consultants for Swedish consulting company Citerus, helping clients succeed with their software development projects.
Patrik Fredriksson, Citerus
As a co-founder and consultant with Citerus Patrik has been doing
professional software development and mentoring for the last ten
years. He has a particular passion for agile software design and
architecture, software development project efficiency and developer
craftsmanship. He is highly motivated to improve the way software is
created and maintained; good software is fun to use and fun to create,
bad software and lost projects make him sad.
Patrik sees bridging the gap between business people and developers as
absolutely crucial for making software development projects
successful. Getting to know the business domain has always been a top
priority for him when working on projects. As Domain-Driven Design
addresses many of the issues that arise when working with complex
domains, his interest for DDD comes as no surprise.
Patrik has been an active member of the Swedish DDD community for
several years and is one of the co-founders of DDD Sverige, the
Swedish DDD Interest Group. http://groups.google.com/group/dddsverige
Peter Backlund, Citerus
Peter is a consultant with Citerus and has been working as a software developer since the year 2000. He is focused on finding tools and methods that allows one to focus on the business problem at hand and creating value for the customer, rather than getting bogged down in technical detail. He considers the lightweight programming and domain-driven design movements a very good fit for each other.
Working full-time as a consultant on-site, Peter has recent and positive experiences of applying DDD design patterns and doing modeling sessions with the domain expert.
Peter is the lead developer and coordinator for the DDDSample project, and an active member of the Swedish DDD Community.