Domain Driven Design (DDD) is a pattern language developed by Eric Evans for effectively managing complexity in software solutions. DDD has evolved as an approach for conceptualizing your project’s problem-space but as software developers we are also keenly interested in translating those DDD patterns to code. If you have always wanted to know how to get started with using DDD in your projects then this is the talk for you — offering both an intro to DDD concepts as well as a look at NET implementations of DDD concepts.
In this talk we will first begin with a brief introduction to DDD concepts and principles for those new to this overall approach and then explore various implementation patterns to translate DDD concepts into .NET code. We will investigate implementations for Repositories, Specifications, Entities, Value Objects, Services, and other DDD constructs. We will also discuss some considerations for how to structure your projects and solutions to maximize flexibility and manage the evolution of your domain over time. This discussion will focus less on offering prescriptive guidance and more on helping the attendee understand some of the potential trade-offs that alternate implementation approaches can provide.