Skip to content

Instantly share code, notes, and snippets.

@stevemu
Created March 28, 2024 22:23
Show Gist options
  • Save stevemu/de1aa433f1026199f68b2574692b749c to your computer and use it in GitHub Desktop.
Save stevemu/de1aa433f1026199f68b2574692b749c to your computer and use it in GitHub Desktop.
Bridge pattern graph
<mxfile host="app.diagrams.net" modified="2024-03-28T22:22:28.517Z" agent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36" etag="oXXWV0pBanl8WLS-OPtp" version="24.0.4" type="device">
<diagram name="Page-1" id="fbFyoZ6bNdFxacDbzJJn">
<mxGraphModel dx="845" dy="878" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="850" pageHeight="1100" math="0" shadow="0">
<root>
<mxCell id="0" />
<mxCell id="1" parent="0" />
<mxCell id="guI2NQdVJi73r4s4yvk4-1" value="«interface»&lt;br&gt;&lt;b&gt;Interface1&lt;/b&gt;&lt;div&gt;&lt;hr&gt;+method1&lt;/div&gt;&lt;div&gt;+method2&lt;/div&gt;&lt;div&gt;+method3&lt;/div&gt;&lt;div&gt;+method4&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="30" y="160" width="110" height="130" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-3" value="«interface»&lt;br&gt;&lt;b&gt;Interface2&lt;/b&gt;&lt;div&gt;&lt;hr&gt;+method1&lt;/div&gt;&lt;div&gt;+method2&lt;/div&gt;" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="530" y="543" width="110" height="120" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-4" value="Controller (abstract)" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="190" y="310" width="160" height="170" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-8" value="# method1Impl" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="guI2NQdVJi73r4s4yvk4-4">
<mxGeometry y="26" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-11" value="# method2Impl" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="guI2NQdVJi73r4s4yvk4-4">
<mxGeometry y="52" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-12" value="# method3Impl" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="guI2NQdVJi73r4s4yvk4-4">
<mxGeometry y="78" width="160" height="26" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-5" value="# method4Impl" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=top;spacingLeft=4;spacingRight=4;overflow=hidden;rotatable=0;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;whiteSpace=wrap;html=1;" vertex="1" parent="guI2NQdVJi73r4s4yvk4-4">
<mxGeometry y="104" width="160" height="66" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-17" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;" edge="1" parent="1" source="guI2NQdVJi73r4s4yvk4-13">
<mxGeometry relative="1" as="geometry">
<mxPoint x="220" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-13" value="ControllerDerivative1" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="70" y="560" width="160" height="34" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-15" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="guI2NQdVJi73r4s4yvk4-13">
<mxGeometry y="26" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-23" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;endArrow=block;endFill=0;" edge="1" parent="1" source="guI2NQdVJi73r4s4yvk4-19">
<mxGeometry relative="1" as="geometry">
<mxPoint x="300" y="480" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-19" value="ControllerDerivative2" style="swimlane;fontStyle=1;align=center;verticalAlign=top;childLayout=stackLayout;horizontal=1;startSize=26;horizontalStack=0;resizeParent=1;resizeParentMax=0;resizeLast=0;collapsible=1;marginBottom=0;whiteSpace=wrap;html=1;" vertex="1" parent="1">
<mxGeometry x="265" y="560" width="160" height="34" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-21" value="" style="line;strokeWidth=1;fillColor=none;align=left;verticalAlign=middle;spacingTop=-1;spacingLeft=3;spacingRight=3;rotatable=0;labelPosition=right;points=[];portConstraint=eastwest;strokeColor=inherit;" vertex="1" parent="guI2NQdVJi73r4s4yvk4-19">
<mxGeometry y="26" width="160" height="8" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-24" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;entryX=0.75;entryY=1;entryDx=0;entryDy=0;endArrow=block;endFill=0;" edge="1" parent="1" source="guI2NQdVJi73r4s4yvk4-12" target="guI2NQdVJi73r4s4yvk4-1">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-25" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;endArrow=block;endFill=0;" edge="1" parent="1" source="guI2NQdVJi73r4s4yvk4-11">
<mxGeometry relative="1" as="geometry">
<mxPoint x="580" y="540" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-26" value="«interface»&lt;br&gt;&lt;b&gt;Impl&lt;/b&gt;&lt;div&gt;&lt;hr&gt;&lt;div&gt;+method1&lt;/div&gt;&lt;div&gt;+method2&lt;/div&gt;&lt;div&gt;+method3&lt;/div&gt;&lt;div&gt;+method4&lt;/div&gt;&lt;/div&gt;" style="html=1;whiteSpace=wrap;" vertex="1" parent="1">
<mxGeometry x="450" y="140" width="110" height="140" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-27" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" edge="1" parent="1" source="guI2NQdVJi73r4s4yvk4-8" target="guI2NQdVJi73r4s4yvk4-26">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="guI2NQdVJi73r4s4yvk4-28" value="&amp;lt;&amp;lt;delegates&amp;gt;&amp;gt;" style="edgeLabel;html=1;align=center;verticalAlign=middle;resizable=0;points=[];" vertex="1" connectable="0" parent="guI2NQdVJi73r4s4yvk4-27">
<mxGeometry x="-0.5238" y="2" relative="1" as="geometry">
<mxPoint as="offset" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment