-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathhexagonal-architecture.xml
executable file
·156 lines (156 loc) · 14.5 KB
/
hexagonal-architecture.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
<mxfile host="app.diagrams.net" modified="2023-09-11T03:43:00.782Z" agent="Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36" etag="bN_lXTl_G9hh516ICsSp" version="21.7.4" type="device">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="867" dy="511" grid="1" gridSize="10" guides="1" tooltips="1" connect="1" arrows="1" fold="1" page="1" pageScale="1" pageWidth="827" pageHeight="1169" math="0" shadow="0">
<root>
<mxCell id="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="WIyWlLk6GJQsqaUBKTNV-1" parent="WIyWlLk6GJQsqaUBKTNV-0" />
<mxCell id="wzyjXZ7H180M1sUMGWJI-4" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=100;fillColor=#cce5ff;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="240" y="600" width="370" height="300" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-1" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=65;fillColor=#ffff88;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="312.5" y="651.64" width="225" height="196.72" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-5" value="Business Logic" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="395" y="735" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-6" value="Service" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffcccc;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="393.75" y="640" width="62.5" height="40" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-9" value="REST<br>API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#cdeb8b;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="387.5" y="550" width="75" height="60" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-10" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-9" target="wzyjXZ7H180M1sUMGWJI-6" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="290" y="680" as="sourcePoint" />
<mxPoint x="490" y="730" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-11" value="Repository<br>interface" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffcccc;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="387.5" y="820" width="75" height="40" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-12" value="" style="endArrow=block;html=1;rounded=0;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-14" target="wzyjXZ7H180M1sUMGWJI-11" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="430" y="900" as="sourcePoint" />
<mxPoint x="420" y="870" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-14" value="Events<br>repository" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#cdeb8b;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="390" y="890" width="70" height="70" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-15" value="" style="shape=datastore;whiteSpace=wrap;html=1;fillColor=#eeeeee;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="397.5" y="990" width="55" height="70" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-16" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-14" target="wzyjXZ7H180M1sUMGWJI-15" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="440" y="720" as="sourcePoint" />
<mxPoint x="500" y="1092" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-19" value="Commands" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="410" y="390" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-20" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" target="wzyjXZ7H180M1sUMGWJI-9" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="425" y="480" as="sourcePoint" />
<mxPoint x="490" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-28" value="<i>create<br>update<br>delete<br>history<br></i>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="430" y="477" width="80" height="66" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-29" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=100;fillColor=#cce5ff;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="780" y="600" width="370" height="300" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-30" value="" style="shape=hexagon;perimeter=hexagonPerimeter2;whiteSpace=wrap;html=1;fixedSize=1;size=65;fillColor=#ffff88;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="852.5" y="651.64" width="225" height="196.72" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-31" value="Business Logic" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="935" y="735" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-32" value="Service" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffcccc;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="933.75" y="640" width="62.5" height="40" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-33" value="REST<br>API" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#cdeb8b;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="927.5" y="550" width="75" height="60" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-34" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-33" target="wzyjXZ7H180M1sUMGWJI-32" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="830" y="680" as="sourcePoint" />
<mxPoint x="1030" y="730" as="targetPoint" />
<Array as="points" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-35" value="Repository<br>interface" style="rounded=0;whiteSpace=wrap;html=1;fillColor=#ffcccc;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="927.5" y="820" width="75" height="40" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-36" value="" style="endArrow=block;html=1;rounded=0;endFill=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;exitX=0.5;exitY=0;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-37" target="wzyjXZ7H180M1sUMGWJI-35" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="970" y="900" as="sourcePoint" />
<mxPoint x="960" y="870" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-37" value="Answers repository" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#cdeb8b;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="930" y="890" width="70" height="70" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-38" value="" style="shape=datastore;whiteSpace=wrap;html=1;fillColor=#eeeeee;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="937.5" y="990" width="55" height="70" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-41" value="Queries" style="shape=umlActor;verticalLabelPosition=bottom;verticalAlign=top;html=1;outlineConnect=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="950" y="390" width="30" height="60" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-42" value="" style="endArrow=classic;html=1;rounded=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;movable=1;resizable=1;rotatable=1;deletable=1;editable=1;locked=0;connectable=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" target="wzyjXZ7H180M1sUMGWJI-33" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="965" y="480" as="sourcePoint" />
<mxPoint x="1030" y="560" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-43" value="<i>read</i>" style="text;strokeColor=none;fillColor=none;align=left;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="970" y="484" width="80" height="50" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-46" value="" style="triangle;whiteSpace=wrap;html=1;direction=south;fillColor=#ffcccc;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="501.5" y="987" width="30" height="30" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-47" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-15" target="wzyjXZ7H180M1sUMGWJI-53" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="450" y="1030" as="sourcePoint" />
<mxPoint x="590" y="1030" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-48" value="Projector" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#cce5ff;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="644" y="970" width="110" height="110" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-49" value="Answers repository" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#cdeb8b;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="744" y="994" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-51" value="" style="endArrow=classic;html=1;rounded=0;entryX=0;entryY=0.5;entryDx=0;entryDy=0;exitX=1;exitY=0.5;exitDx=0;exitDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" source="wzyjXZ7H180M1sUMGWJI-49" target="wzyjXZ7H180M1sUMGWJI-38" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="800" y="1030" as="sourcePoint" />
<mxPoint x="930" y="1030" as="targetPoint" />
</mxGeometry>
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-52" value="Event" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="488" y="956" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-53" value="Event<br>handler" style="whiteSpace=wrap;html=1;aspect=fixed;fillColor=#cdeb8b;strokeColor=#36393d;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="594" y="994" width="60" height="60" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-54" value="View<br>database" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="936.25" y="1070" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-55" value="Event<br>store" style="text;html=1;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;whiteSpace=wrap;rounded=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="395.5" y="1079" width="60" height="30" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-58" value="<i>create<br>update<br>delete<br></i>" style="text;strokeColor=none;fillColor=none;align=center;verticalAlign=middle;spacingLeft=4;spacingRight=4;overflow=hidden;points=[[0,0.5],[1,0.5]];portConstraint=eastwest;rotatable=0;whiteSpace=wrap;html=1;" parent="WIyWlLk6GJQsqaUBKTNV-1" vertex="1">
<mxGeometry x="824" y="957" width="80" height="66" as="geometry" />
</mxCell>
<mxCell id="wzyjXZ7H180M1sUMGWJI-60" value="" style="endArrow=classic;html=1;rounded=0;exitX=0.5;exitY=1;exitDx=0;exitDy=0;entryX=0.5;entryY=0;entryDx=0;entryDy=0;" parent="WIyWlLk6GJQsqaUBKTNV-1" edge="1">
<mxGeometry width="50" height="50" relative="1" as="geometry">
<mxPoint x="965" y="960" as="sourcePoint" />
<mxPoint x="965" y="990" as="targetPoint" />
</mxGeometry>
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>