<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Domain-Driven Design: A Guided Study on communities.abhinav-ja.in</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/</link><description>Recent content in Domain-Driven Design: A Guided Study on communities.abhinav-ja.in</description><generator>Hugo -- 0.137.1</generator><language>en</language><lastBuildDate>Sun, 31 Aug 2025 00:00:00 +0000</lastBuildDate><atom:link href="https://communities.abhinav-ja.in/book-club/domain-driven-design/index.xml" rel="self" type="application/rss+xml"/><item><title>Week 17 – Bringing the Strategy Together</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-17/</link><pubDate>Sun, 31 Aug 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-17/</guid><description>&lt;p>This week we&amp;rsquo;ll discuss the last chapter of the book: &lt;strong>Chapter 17 – Bringing the Strategy Together&lt;/strong>.&lt;/p>
&lt;p>We&amp;rsquo;ve reached the end. It&amp;rsquo;s been a long and often arduous few months reading this book, but I&amp;rsquo;ve genuinely enjoyed sharing the ride with this bunch. I&amp;rsquo;ll write a final note in a couple of days about how much this experience has shifted my thinking, but for now, let&amp;rsquo;s dive into the last chapter.&lt;/p></description></item><item><title>Week 16 – Large-Scale Structure</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-16/</link><pubDate>Sun, 24 Aug 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-16/</guid><description>&lt;p>This week we&amp;rsquo;ll discuss the &lt;strong>second last chapter&lt;/strong> of the book, &lt;strong>Chapter 16: Large-Scale Structure&lt;/strong>. This chapter was more about holding a sprawling system together when the model grows big than anything else. And it does get big — even when you&amp;rsquo;ve done everything &amp;ldquo;right.&amp;rdquo;&lt;/p>
&lt;p>I liked the satellite communication simulator example that opens the chapter. The team had a solid model, modular design, and good abstractions but it still started falling apart at scale. That resonated. Sometimes things drift not because they&amp;rsquo;re badly built, but because they&amp;rsquo;re not built with a larger shape in mind.&lt;/p></description></item><item><title>Week 14 &amp; 15 – Maintaining Model Integrity / Distillation</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-14/</link><pubDate>Sun, 17 Aug 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-14/</guid><description>&lt;p>Apologies for not posting the Week 14 thread last week. We had a mix-up with scheduling and a couple of us were catching up on reading. Given that the two chapters flow nicely into each other, it worked out okay to talk about them together.&lt;/p>
&lt;h2 id="chapter-14--maintaining-model-integrity">Chapter 14 – Maintaining Model Integrity&lt;/h2>
&lt;p>This chapter was more tactical than philosophical, which made for a slightly different reading pace. It dives into the patterns for preserving the integrity of large systems by managing how different models interact. I found the distinction between &lt;strong>Shared Kernel&lt;/strong> and &lt;strong>Customer/Supplier&lt;/strong> particularly useful — one speaks to tight alignment, the other to necessary detachment. The &lt;strong>&amp;ldquo;Conformist&amp;rdquo;&lt;/strong> pattern also stood out, not because it&amp;rsquo;s ideal, but because it acknowledges the reality of working with upstream teams that you have no leverage over.&lt;/p></description></item><item><title>Week 13 – Bringing the Pieces Together</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-13/</link><pubDate>Sun, 03 Aug 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-13/</guid><description>&lt;p>&lt;strong>Chapter 13: Bringing the Pieces Together.&lt;/strong> This was a short chapter and honestly, a much-needed breather from the density of the past few weeks. It serves as a reflective pause, a chance to zoom out, piece together the themes of Part III, and revisit what &amp;ldquo;refactoring toward deeper insight&amp;rdquo; really means in practice.&lt;/p>
&lt;p>What stood out to me is how the chapter de-emphasizes heroic solo efforts and instead focuses on &lt;strong>structure and rhythm&lt;/strong>. The model gets better not because one person has a moment of genius, but because teams form organically, ideas get tested and slept on, and the language shared with domain experts sharpens with each iteration. The section on &amp;ldquo;exploration teams&amp;rdquo; paints a very real and attainable picture of how serious modeling can happen even in time-constrained environments.&lt;/p></description></item><item><title>Week 12 – Relating Design Patterns to the Model</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-12/</link><pubDate>Sun, 27 Jul 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-12/</guid><description>&lt;p>&lt;em>Discussion led by &lt;strong>Charandeep Kumar&lt;/strong>&lt;/em>&lt;/p>
&lt;hr>
&lt;p>Apologies for the slight delay in getting this thread started — it&amp;rsquo;s been a busy weekend. This week, we&amp;rsquo;re diving into &lt;strong>Chapter 12: Relating Design Patterns to the Model&lt;/strong>.&lt;/p>
&lt;p>For me, this chapter felt like a crucial bridge between the abstract world of domain modeling and the concrete world of implementation patterns we use every day. It addresses a question I think many of us have implicitly wondered about: when is a &amp;ldquo;design pattern&amp;rdquo; just a technical tool, and when does it become a meaningful part of the domain model itself?&lt;/p></description></item><item><title>Week 11 – Applying Analysis Patterns</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-11/</link><pubDate>Tue, 22 Jul 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-11/</guid><description>&lt;p>Sorry for the delay everyone. The original discussion leader had to step away at the last minute so I am picking this up. This week is &lt;strong>Chapter 11: Applying Analysis Patterns&lt;/strong>.&lt;/p>
&lt;p>This was a short chapter but felt like a nice shift in tone. After so many chapters on discovery, this one brought in the value of experience and prior knowledge. Evans shows how you can cut through some of the trial and error by borrowing concepts that have already been stress tested in other systems.&lt;/p></description></item><item><title>Week 10 – Supple Design</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-10/</link><pubDate>Sun, 13 Jul 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-10/</guid><description>&lt;p>&lt;em>Discussion led by &lt;strong>Tanishq Agarwal&lt;/strong>&lt;/em>&lt;/p>
&lt;hr>
&lt;p>Get ready to shift your focus from high-level architecture to the daily craft of coding. Opening the thread for &lt;strong>Chapter 10 – Supple Design&lt;/strong>.&lt;/p>
&lt;p>Evans emphasizes that software must first &amp;ldquo;serve developers,&amp;rdquo; not just users and also makes a compelling case for how we shape our domain models — not just to make them correct, but to make them expressive, flexible, and fun to work with.&lt;/p></description></item><item><title>Week 9 – Making Implicit Concepts Explicit</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-09/</link><pubDate>Sun, 06 Jul 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-09/</guid><description>&lt;p>It was a busy day for sports fans today with Silverstone circuit, the 5th day of the Edgbaston test and Wimbledon but it&amp;rsquo;s time we get back to our beloved book. Hope you had a few results go in your favour! We will be discussing &lt;strong>Chapter 9: Making Implicit Concepts Explicit&lt;/strong>.&lt;/p>
&lt;p>This chapter struck a somewhat different chord. It brought to mind the silent times in projects when an element that was always present but out of reach is given a name, and the entire design becomes apparent. As stated by Evans:&lt;/p></description></item><item><title>Week 8 – Breakthrough</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-08/</link><pubDate>Sun, 29 Jun 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-08/</guid><description>&lt;p>&lt;em>Discussion led by &lt;strong>Abhinav Anand&lt;/strong>&lt;/em>&lt;/p>
&lt;hr>
&lt;p>We&amp;rsquo;ll be discussing &lt;strong>Chapter 8: Breakthrough&lt;/strong>, the opening chapter of Part III, which marks a shift from the building blocks of DDD to the evolution of our domain models over time.&lt;/p>
&lt;p>This was one of the most relatable sections for me so far. It acknowledges something we&amp;rsquo;ve probably all felt: the path to a deep model isn&amp;rsquo;t always a steady climb through incremental refactoring. Sometimes, you hit a plateau. You&amp;rsquo;re following the rules, your code is clean, yet the design still feels awkward or misaligned with the business reality. The &amp;ldquo;breakthrough&amp;rdquo; is that pivotal moment that gets you off that plateau.&lt;/p></description></item><item><title>Week 7 – Using the Language: An Extended Example</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-07/</link><pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-07/</guid><description>&lt;p>&lt;em>Discussion led by &lt;strong>Naman Modi&lt;/strong>&lt;/em>&lt;/p>
&lt;hr>
&lt;p>Chapter 7 &amp;ldquo;&lt;strong>Using the Language: An Extended Example&lt;/strong>&amp;rdquo; was the first time, at least for me, that the ideas from all the previous chapters really started to click together. This wasn&amp;rsquo;t just theory anymore. Watching Evans walk through the evolving design of a shipping system: starting with a simple model and slowly layering in constraints, performance concerns, and integration boundaries; made the entire DDD approach feel grounded in reality.&lt;/p></description></item><item><title>Week 6 – The Lifecycle of a Domain Object</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-06/</link><pubDate>Sun, 15 Jun 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-06/</guid><description>&lt;p>We will be discussing &lt;strong>Chapter 6: The Lifecycle of a Domain Object&lt;/strong>.&lt;/p>
&lt;p>This chapter dives into how domain objects live — from their creation through state changes to eventual retirement. I found several parts particularly insightful.&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;An AGGREGATE is a cluster of associated objects that we treat as a unit for the purpose of data changes.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>I love how this encapsulates not just grouping, but transactional consistency too. It&amp;rsquo;s not about objects sitting together, it&amp;rsquo;s about managing invariants collectively.&lt;/p></description></item><item><title>Week 5 – A Model Expressed in Software</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-05/</link><pubDate>Mon, 09 Jun 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-05/</guid><description>&lt;p>Apologies for being a day late in starting this thread — the discussion leader for this week had to step away due to unforeseen circumstances, and I&amp;rsquo;ve stepped in to get us back on track. We will be discussing &lt;strong>Chapter 5: A Model Expressed in Software&lt;/strong>.&lt;/p>
&lt;p>This chapter was fairly dense, covering four foundational building blocks of DDD: &lt;strong>Entities, Value Objects, Services, and Modules&lt;/strong>.&lt;/p>
&lt;p>What I appreciated about this chapter is how clearly it lays out the mental categories we need when shaping the model into code. We often throw these terms around, but here Evans gives them weight, tying them to purpose, not just structure.&lt;/p></description></item><item><title>Week 4 – Isolating the Domain</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-04/</link><pubDate>Sun, 01 Jun 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-04/</guid><description>&lt;p>&lt;em>Discussion led by &lt;strong>Ayush Gupta&lt;/strong>&lt;/em>&lt;/p>
&lt;hr>
&lt;p>I will start off with quoting this line from the chapter which I think really resonates with the idea of design principles we are discussing:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;When domain logic is embedded in other layers, it becomes hard to see, test, and evolve.&amp;rdquo;&lt;/p>
&lt;/blockquote>
&lt;p>One bit I really liked was the distinction between Application and Domain layers. The app layer doesn&amp;rsquo;t &lt;em>do&lt;/em> business logic; it &lt;em>orchestrates&lt;/em> it. That alone can clean up so much of the mess I&amp;rsquo;ve seen in bloated service classes.&lt;/p></description></item><item><title>Week 3 – Binding Model and Implementation</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-03/</link><pubDate>Sun, 25 May 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-03/</guid><description>&lt;p>Opening the thread for &lt;strong>Chapter 3 – Binding Model and Implementation&lt;/strong>.&lt;/p>
&lt;p>I found this chapter a bit difficult initially, maybe due to all the electronics references. After reading it a couple of times, I understood that this chapter could honestly be replaced by a single line: &lt;strong>&amp;ldquo;Software development is all design.&amp;rdquo;&lt;/strong>&lt;/p>
&lt;p>It really takes off from where the last chapter left — if ubiquitous language was about getting everyone (developers and domain experts) to speak the same language, this one goes a step further: not just speak the same way, but design the same way.&lt;/p></description></item><item><title>Week 2 – Communication and the Use of Language</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-02/</link><pubDate>Sat, 17 May 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-02/</guid><description>&lt;p>Opening the thread for &lt;strong>Chapter 2 – Communication and the Use of Language&lt;/strong>.&lt;/p>
&lt;p>This chapter moves us closer to the interface between language, code, and clarity. Evans argues that the model should not be something floating outside the implementation, rather the best code should &lt;em>reveal&lt;/em> the model directly. The diagrams and documents we write should support that, not compete with it.&lt;/p>
&lt;p>A few lines that stood out:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;The vital detail about the design is captured in the code. A well-written implementation should transparently reveal the model underlying it. Supplemental diagrams and documents can guide people&amp;rsquo;s attention to the central points. Natural language discussion can fill in the nuances of meaning.&amp;rdquo;&lt;/p></description></item><item><title>Week 1 – Crunching Knowledge</title><link>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-01/</link><pubDate>Sun, 11 May 2025 00:00:00 +0000</pubDate><guid>https://communities.abhinav-ja.in/book-club/domain-driven-design/week-01/</guid><description>&lt;p>Hey folks,&lt;/p>
&lt;p>Sorry for the late start to the discussion thread this week — I know it doesn&amp;rsquo;t look great to be late in Week 1, but I imagine most people can empathise with how intense this week has been across the subcontinent.&lt;/p>
&lt;p>That said, I really enjoyed reading the book. It made me slow down, feel more like myself, and sparked a kind of curiosity I hadn&amp;rsquo;t felt in a while.&lt;/p></description></item></channel></rss>