docs/assets/images/diagrams/01-domaindb-diagram.drawio.svg
<svg host="65bd71144e" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="651px" height="251px" viewBox="-0.5 -0.5 651 251" content="<mxfile><diagram id="Y1SMTT-XEiYdyhQs8Dwr" name="Page-1">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</diagram></mxfile>">
<defs/>
<g>
<rect x="0" y="0" width="650" height="250" fill="#ffffff" stroke="#36393d" pointer-events="all"/>
<rect x="265" y="10" width="120" height="60" fill="#fff2cc" stroke="#d6b656" pointer-events="all"/>
<rect x="270" y="22.5" width="110" height="35" fill="#fff2cc" stroke="none" pointer-events="all"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 108px; height: 1px; padding-top: 40px; margin-left: 271px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: all; font-weight: bold; white-space: normal; word-wrap: normal; ">
<span id="docs-internal-guid-5a4da1a4-7fff-a0d3-a43f-41a1099a1b83">
<p dir="ltr" style="line-height: 1.2 ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-size: 13pt ; font-family: "arial" ; background-color: transparent ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
DomainDb
</span>
</p>
</span>
<br class="Apple-interchange-newline"/>
</div>
</div>
</div>
</foreignObject>
<text x="325" y="44" fill="default" font-family="Helvetica" font-size="12px" text-anchor="middle" font-weight="bold">
DomainDb
</text>
</switch>
</g>
<path d="M 111.07 70 L 213.33 164.67" fill="none" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="stroke"/>
<path d="M 217.18 168.24 L 209.67 166.05 L 213.33 164.67 L 214.42 160.92 Z" fill="#1a1a1a" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="all"/>
<rect x="25" y="10" width="190" height="60" fill="#fff2cc" stroke="#000000" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 163px; height: 1px; padding-top: 27px; margin-left: 37px;">
<div style="box-sizing: border-box; font-size: 0; text-align: left; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal; ">
<b style="font-weight: normal ; font-size: 14px" id="docs-internal-guid-c7458144-7fff-09a8-0a29-9d9fdd9dce34">
<p dir="ltr" style="line-height: 1.2 ; text-align: center ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-family: "arial" ; background-color: transparent ; font-weight: 400 ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
ClientDomainDbFactory->
</span>
</p>
<p dir="ltr" style="line-height: 1.2 ; text-align: center ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-family: "arial" ; background-color: transparent ; font-weight: 400 ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
newLocalDb()
</span>
</p>
</b>
</div>
</div>
</div>
</foreignObject>
<text x="37" y="39" fill="default" font-family="Helvetica" font-size="12px">
ClientDomainDbFactory->...
</text>
</switch>
</g>
<rect x="445" y="10" width="190" height="60" fill="#fff2cc" stroke="#000000" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe center; width: 168px; height: 1px; padding-top: 27px; margin-left: 456px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal; ">
<span id="docs-internal-guid-de2f3fab-7fff-4206-7ee2-e2873f9050a8" style="font-size: 14px">
<font style="font-size: 14px">
<p dir="ltr" style="line-height: 1.2 ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-family: "arial" ; background-color: transparent ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
RepoDomainDbFactory->
</span>
</p>
<p dir="ltr" style="line-height: 1.2 ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-family: "arial" ; background-color: transparent ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
newRepoDb()
</span>
</p>
</font>
</span>
</div>
</div>
</div>
</foreignObject>
<text x="540" y="39" fill="default" font-family="Helvetica" font-size="12px" text-anchor="middle">
RepoDomainDbFactory->...
</text>
</switch>
</g>
<rect x="155" y="170" width="150" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 138px; height: 1px; padding-top: 187px; margin-left: 167px;">
<div style="box-sizing: border-box; font-size: 0; text-align: left; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal; ">
<b id="docs-internal-guid-fe47a7bc-7fff-fa13-20e4-6ab73505a323">
<p dir="ltr" style="line-height: 1.2 ; text-align: center ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-size: 12pt ; font-family: "arial" ; background-color: transparent ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
ClientDomainDb
</span>
</p>
</b>
</div>
</div>
</div>
</foreignObject>
<text x="167" y="199" fill="default" font-family="Helvetica" font-size="12px">
ClientDomainDb
</text>
</switch>
</g>
<rect x="355" y="170" width="150" height="50" rx="7.5" ry="7.5" fill="#dae8fc" stroke="#6c8ebf" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe flex-start; justify-content: unsafe flex-start; width: 148px; height: 1px; padding-top: 187px; margin-left: 367px;">
<div style="box-sizing: border-box; font-size: 0; text-align: left; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal; ">
<b id="docs-internal-guid-01cd9052-7fff-94f2-4751-e8790923c1d5">
<p dir="ltr" style="line-height: 1.2 ; text-align: center ; margin-top: 0pt ; margin-bottom: 0pt">
<span style="font-size: 13pt ; font-family: "arial" ; background-color: transparent ; font-style: normal ; font-variant: normal ; text-decoration: none ; vertical-align: baseline">
RepoDomainDb
</span>
</p>
</b>
</div>
</div>
</div>
</foreignObject>
<text x="367" y="199" fill="default" font-family="Helvetica" font-size="12px">
RepoDomainDb
</text>
</switch>
</g>
<rect x="135" y="100" width="60" height="30" fill="#ffffff" stroke="none" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 115px; margin-left: 136px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; white-space: normal; word-wrap: normal; ">
returns
</div>
</div>
</div>
</foreignObject>
<text x="165" y="119" fill="default" font-family="Helvetica" font-size="12px" text-anchor="middle">
returns
</text>
</switch>
</g>
<path d="M 535 70 L 448.22 165.29" fill="none" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 444.68 169.17 L 446.81 161.64 L 448.22 165.29 L 451.98 166.35 Z" fill="#1a1a1a" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="none"/>
<rect x="455" y="100" width="60" height="30" fill="#ffffff" stroke="none" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 115px; margin-left: 456px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; background-color: default; white-space: normal; word-wrap: normal; ">
returns
</div>
</div>
</div>
</foreignObject>
<text x="485" y="119" fill="default" font-family="Helvetica" font-size="12px" text-anchor="middle">
returns
</text>
</switch>
</g>
<path d="M 373 170 L 372.06 76.37" fill="none" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 372.01 71.12 L 375.58 78.08 L 372.06 76.37 L 368.58 78.15 Z" fill="#1a1a1a" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 284 168 L 284.94 76.37" fill="none" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="none"/>
<path d="M 284.99 71.12 L 288.42 78.15 L 284.94 76.37 L 281.42 78.08 Z" fill="#1a1a1a" stroke="#1a1a1a" stroke-miterlimit="10" pointer-events="none"/>
<rect x="345" y="100" width="60" height="30" fill="#ffffff" stroke="none" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 115px; margin-left: 346px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; background-color: default; white-space: normal; word-wrap: normal; ">
extends
</div>
</div>
</div>
</foreignObject>
<text x="375" y="119" fill="default" font-family="Helvetica" font-size="12px" text-anchor="middle">
extends
</text>
</switch>
</g>
<rect x="250" y="100" width="60" height="30" fill="#ffffff" stroke="none" pointer-events="none"/>
<g transform="translate(-0.5 -0.5)">
<switch>
<foreignObject style="overflow: visible; text-align: left;" pointer-events="none" width="100%" height="100%" requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility">
<div xmlns="http://www.w3.org/1999/xhtml" style="display: flex; align-items: unsafe center; justify-content: unsafe center; width: 58px; height: 1px; padding-top: 115px; margin-left: 251px;">
<div style="box-sizing: border-box; font-size: 0; text-align: center; ">
<div style="display: inline-block; font-size: 12px; font-family: Helvetica; color: default; line-height: 1.2; pointer-events: none; background-color: default; white-space: normal; word-wrap: normal; ">
extends
</div>
</div>
</div>
</foreignObject>
<text x="280" y="119" fill="default" font-family="Helvetica" font-size="12px" text-anchor="middle">
extends
</text>
</switch>
</g>
</g>
<switch>
<g requiredFeatures="http://www.w3.org/TR/SVG11/feature#Extensibility"/>
<a transform="translate(0,-5)" xlink:href="https://www.diagrams.net/doc/faq/svg-export-text-problems" target="_blank">
<text text-anchor="middle" font-size="10px" x="50%" y="100%">
Viewer does not support full SVG 1.1
</text>
</a>
</switch>
</svg>