This is the third session of our Implementing DDD book study.
The core group felt like this material deserves extended study "as long as it takes", so we're going "off script" and adjusting the scheduling to fit the group's needs.
As such, the third session we will attempt to cover chapters 5 and 6, Entities, and Value Objects.
If anyone is interested in presenting material / code / summary of either chapter 5 or 6, just respond on the bottom of this page and when you RSVP. If there is nothing specific anyone wants to show, then we will engage in open discussion about the chapters / topics.
Workshop Sessions coming!
We also discussed collaborating on extending Anshu's code example which was based on Greg Young's "Super Simple CQRS" example. So, we'll schedule a "workshop" session also in between discussion meetings.
Domain-Driven Design community leader Vaughn Vernon recently published Implementing Domain-Driven Design! Book summary:
Implementing Domain-Driven Design presents a top-down approach to understanding domain-driven design (DDD) in a way that fluently connects strategic patterns to fundamental tactical programming tools. Vaughn Vernon couples guided approaches to implementation with modern architectures, highlighting the importance and value of focusing on the business domain while balancing technical considerations.
Building on Eric Evans’ seminal book, Domain-Driven Design, the author presents practical DDD techniques through examples from familiar domains. Each principle is backed up by realistic Java examples–all applicable to C# developers–and all content is tied together by a single case study: the delivery of a large-scale Scrum-based SaaS system for a multitenant environment.
The author takes you far beyond “DDD-lite” approaches that embrace DDD solely as a technical toolset, and shows you how to fully leverage DDD’s “strategic design patterns” using Bounded Context, Context Maps, and the Ubiquitous Language. Using these techniques and examples, you can reduce time to market and improve quality, as you build software that is more flexible, more scalable, and more tightly aligned to business goals.
> Getting started the right way with DDD, so you can rapidly gain value from it
> Using DDD within diverse architectures, including Hexagonal, SOA, REST, CQRS, Event-Driven, and Fabric/Grid-Based
> Appropriately designing and applying Entities–and learning when to use Value Objects instead
> Mastering DDD’s powerful new Domain Events technique
> Designing Repositories for ORM, NoSQL, and other databases
How to sign up
We need volunteers to help present summaries of the chapters, 2 to 3 chapter per session, over the course of N sessions and X months. And, of course need even more people to attend and enjoy!
- Want a free copy of the book by volunteering to do a presentation? To be one of the two presenters for any of the N sessions and get the book free, then RSVP on this page, then see Speaker guidelines below for more info.
- Want to read, but not present? If you don't want to present, but do want to buy a copy of the eBook or print book, at a 35% discount, then RSVP on this page, then click the Addison-Wesley perk on the left side of this page to get the discount code to use at InformIT.com!
You can also, of course, choose to attend without even reading the book, if you like :-) If you do that, at least view the videos linked in this blog post on the VersionOne Dev Blog: The importance of Thinking Inside the Box illustrated in new book: Implementing Domain-Driven Design
Speakers spreadsheet and schedule
Full schedule and presenters already signed up on this spreadsheet. Here's the outline of dates and chapters covered:
6:00 - 6:15: Setup, socialize at VersionOne @ Glen Iris
6:15 - 8:00: Presentations and open discussion (also over GoToMeeting, mute your mic until we pause for discussions)
8:00 - 9:00: Gather at Manuel's Tavern for drinking, dining, more discussion for those in town!
**Not available tonight**
Session 3: Tue May[masked]
- 5: Entities
- 6: Value Objects
Presenters: 2 open
Session 4: Tue June[masked]
Chapters: (Subject to change!)
- 7: Services
- 8: Domain Events
- 9: Modules
- 10: Aggregates
Presenters: Josh Gough, 1 open
Session 5: Tue July[masked]
- 12: Repositories
- 13: Integrating Bounded Contexts
Presenters: 2 open
Session 6: Tue July[masked]
- 14: Application Example
- 15: Aggregates and Event Sourcing
Presenters: 2 open
It's simple. Here's what we ask:
Before signing up:
- Review the full schedule of days and the chapters on this spreadsheet.
- RSVP on the Meetup site, indicating which session you want to present on, then Send a Message to Josh Gough to provide him your mailing address if you prefer a physical book, or your email if you prefer an eBook, and he will have VersionOne buy it for you.
After signing up:
- Coordinate how to collaborate on the presentation with your co-presenter. Use Skype or something like that if you are not local to Atlanta. Please be prepared to carry the weight of the presentation if your partner falls ill or absent. Redundancy!
- Cover the chapter materials well enough that someone who didn't read the chapters will understand the gist of the concepts.
- In your presentation, refer to situations where the concepts have been or could be helpful in your own projects, using code examples of your own if you have some
- Contribute additional links and resources in your presentation to help people learn more about the subject
A Few More DDD Getting Started Resources
You can always use http://dddcommunity.org/learning to find more, but here's a blog I wrote on the VersionOne Dev Blog with more info and links to some great starting points: The importance of Thinking Inside the Box illustrated in new book: Implementing Domain-Driven Design.
Thanks goes to book author Vaughn Vernon himself, his publisher Addison-Wesley, Addison-Wesley Senior Publicist Heather Fox, and to VersionOne for their sponsorship of this endeavor!