Domain-Driven Design: An Introduction

Skill Level:
Presentation Link

The first book on Domain-Driven Design was published in 2003, authored by Eric Evans, who first coined the term and distilled the time-tested principles and patterns that make up the practice of DDD. In recent years, simplification and increased testability through frameworks like Spring, Hibernate, and others has substantially reduced the complexity of application infrastructure, allowing teams to turn their focus to honing their approach to software design. Domain-Driven Design meets practitioners in that quest with principles, practices, and process to recapture the spirit of software excellence that has been lost in so many of today’s technology practices.

This talk will introduce the foundations of Domain-Driven Design, and present several facets of DDD in action:

  • How models are chosen and evaluated
  • How multiple models coexist
  • How patterns help to avoid common pitfalls, such as overly-interconnected models
  • How developers and domain experts together in a DDD team engage in deeper exploration of their problem domain and make that understanding tangible as a practical software design
Barry Hawkins

Barry has played various roles in his 17 years in the software industry, including lone developer, team lead, director, and Agile coach and mentor. Barry is one of the few native Atlantans, currently specializing in coaching and mentoring for Agile software development in addition to doing contract software development. Over the years, he has developed on multiple platforms, focusing primarily on Microsoft technologies and then Java from 2003 onward. He views technology as a set of tools, and embraces the use of dynamic as well as statically-typed languages, procedural, object-oriented, and functional programming, each having their own strengths in a given problem domain.

Prior to his career in software, Barry Hawkins spent 10 years designing, selling, and delivering turn-key industrial packaging and marking systems into manufacturing plants throughout the southeastern United States. He was responsible for the implementation, maintenance, and support of every system he sold, which was a formative experience that continues to influence his approach to consulting and coaching.