<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Quantum Space]]></title><description><![CDATA[Quantum Space]]></description><link>https://blog.jojo-papa.com</link><image><url>https://cdn.hashnode.com/res/hashnode/image/upload/v1713901299628/nJeySTHA4.jpeg</url><title>Quantum Space</title><link>https://blog.jojo-papa.com</link></image><generator>RSS for Node</generator><lastBuildDate>Wed, 08 Apr 2026 13:02:11 GMT</lastBuildDate><atom:link href="https://blog.jojo-papa.com/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[Grokking bounded contexts]]></title><description><![CDATA[Mastering Domain-Driven Design (DDD) hinges on a solid understanding of bounded contexts, which serve as the foundation for modeling complex software architectures. In this article, I aim to clarify the concept of bounded contexts, providing insights...]]></description><link>https://blog.jojo-papa.com/grokking-bounded-contexts</link><guid isPermaLink="true">https://blog.jojo-papa.com/grokking-bounded-contexts</guid><category><![CDATA[software architecture]]></category><category><![CDATA[Microservices]]></category><category><![CDATA[Software Engineering]]></category><dc:creator><![CDATA[Tati]]></dc:creator><pubDate>Tue, 23 Apr 2024 19:21:10 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/stock/unsplash/_Tm4622z4Dg/upload/f95b8147b20563d37000f91432395772.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Mastering Domain-Driven Design (DDD) hinges on a solid understanding of bounded contexts, which serve as the foundation for modeling complex software architectures. In this article, I aim to clarify the concept of bounded contexts, providing insights and practical examples to illuminate their application.</p>
<h3 id="heading-ubiquitous-language">Ubiquitous language</h3>
<p>At the heart of DDD lies the ubiquitous language, a shared vocabulary that reflects the domain experts’ mental model. If your language doesn’t align with the mental model, it’s time for a revision. Words can have multiple meanings, but within a ubiquitous language, each term should have a singular, clear definition based on its context.</p>
<h3 id="heading-the-tale-of-two-cranes">The tale of two cranes</h3>
<p>Consider the word “crane.” In a zoological context, it refers to a bird. In a machinery context, it denotes a device for lifting heavy loads. Ambiguity arises when a word’s meaning isn’t clear, signaling the need for a distinct bounded context. Thus, context is key to interpreting words correctly, and the ubiquitous language must remain consistent within each bounded context.</p>
<h3 id="heading-identifying-and-designing">Identifying and designing</h3>
<p>Subdomains are carved out by dissecting the business domain, while bounded contexts are crafted during the domain modeling process. A simple rule of thumb is to ensure language consistency within a bounded context. If inconsistencies arise, it’s time to delineate new bounded contexts. These are then implemented as packages, modules, or namespaces in various programming languages, encapsulating their respective contexts.</p>
<p>Having appropriate bounded contexts leads to more robust and maintainable software systems.</p>
]]></content:encoded></item></channel></rss>