-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathCarBuilder
25 lines (25 loc) · 7.33 KB
/
CarBuilder
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
<mxfile host="app.diagrams.net" modified="2023-04-28T12:04:30.279Z" agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/112.0.0.0 Safari/537.36" etag="9ptgD81OW8FU-H-iX93M" version="21.2.3" type="github">
<diagram id="C5RBs43oDa-KdzZeNtuy" name="Page-1">
<mxGraphModel dx="934" dy="615" 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="PQqLryCRNxrYO_w7Ukj9-0" value="<p style="margin:0px;margin-top:4px;text-align:center;"><i>&lt;&lt;Interface&gt;&gt;</i><br></p><p style="margin:0px;margin-top:4px;text-align:center;"><i><b>CarBuild</b></i></p><hr size="1"><p style="margin:0px;margin-left:4px;">+ set_car_type(&amp;mut self, car_type: CarType);</p><p style="margin:0px;margin-left:4px;">+ set_seats(&amp;mut self, seats: u16);</p><p style="margin:0px;margin-left:4px;">+ set_engine(&amp;mut self, engine: Engine);</p><p style="margin:0px;margin-left:4px;">+ set_transmission(&amp;mut self, transmission: Transmission);</p><p style="margin:0px;margin-left:4px;">+ set_gsp_navigator(&amp;mut self, gps_navigator: GpsNavigator);</p><p style="margin:0px;margin-left:4px;">+ build(self) -&gt; Car;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="90" y="90" width="360" height="150" as="geometry" />
</mxCell>
<mxCell id="PQqLryCRNxrYO_w7Ukj9-4" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;exitX=0.5;exitY=0;exitDx=0;exitDy=0;entryX=0.5;entryY=1;entryDx=0;entryDy=0;dashed=1;endArrow=block;endFill=0;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PQqLryCRNxrYO_w7Ukj9-2" target="PQqLryCRNxrYO_w7Ukj9-0">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PQqLryCRNxrYO_w7Ukj9-5" value="" style="edgeStyle=orthogonalEdgeStyle;rounded=0;orthogonalLoop=1;jettySize=auto;html=1;" edge="1" parent="WIyWlLk6GJQsqaUBKTNV-1" source="PQqLryCRNxrYO_w7Ukj9-2" target="PQqLryCRNxrYO_w7Ukj9-3">
<mxGeometry relative="1" as="geometry" />
</mxCell>
<mxCell id="PQqLryCRNxrYO_w7Ukj9-2" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>CarBuilder</b></p><hr size="1"><p style="margin:0px;margin-left:4px;">- car_type: Option&lt;CarType&gt;,</p><p style="margin:0px;margin-left:4px;">- engine: Option&lt;Engine&gt;,</p><p style="margin:0px;margin-left:4px;">- gps_navigator: Option&lt;GpsNavigator&gt;,</p><p style="margin:0px;margin-left:4px;">- seats: Option&lt;u16&gt;,</p><p style="margin:0px;margin-left:4px;">- transmission: Option&lt;Transmission&gt;,</p><hr size="1"><p style="border-color: var(--border-color); margin: 0px 0px 0px 4px;">+ set_car_type(&amp;mut self, car_type: CarType);</p><p style="border-color: var(--border-color); margin: 0px 0px 0px 4px;">+ set_seats(&amp;mut self, seats: u16);</p><p style="border-color: var(--border-color); margin: 0px 0px 0px 4px;">+ set_engine(&amp;mut self, engine: Engine);</p><p style="border-color: var(--border-color); margin: 0px 0px 0px 4px;">+ set_transmission(&amp;mut self, transmission: Transmission);</p><p style="border-color: var(--border-color); margin: 0px 0px 0px 4px;">+ set_gsp_navigator(&amp;mut self, gps_navigator: GpsNavigator);</p><p style="border-color: var(--border-color); margin: 0px 0px 0px 4px;">+ build(self) -&gt; Car;</p>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="90" y="270" width="360" height="210" as="geometry" />
</mxCell>
<mxCell id="PQqLryCRNxrYO_w7Ukj9-3" value="<p style="margin:0px;margin-top:4px;text-align:center;"><b>Car</b></p><hr size="1"><p style="margin:0px;margin-left:4px;">- car_type: CarType,</p><p style="margin:0px;margin-left:4px;">- seats: u16,</p><p style="margin:0px;margin-left:4px;">- engine: Engine,</p><p style="margin:0px;margin-left:4px;">- transmission: Transmission,</p><p style="margin:0px;margin-left:4px;">- gps_navigator: Option&lt;GpsNavigator&gt;,</p><p style="margin:0px;margin-left:4px;">- fuel: f64,</p><hr size="1"><p style="margin:0px;margin-left:4px;">+ new(</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; &nbsp; &nbsp; car_type: CarType,</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; &nbsp; &nbsp; seats: u16,</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; &nbsp; &nbsp; engine: Engine,</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; &nbsp; &nbsp; transmission: Transmission,</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; &nbsp; &nbsp; gps_navigator: Option&lt;GpsNavigator&gt;,</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; &nbsp; &nbsp; fuel: f64,</p><p style="margin:0px;margin-left:4px;">&nbsp; &nbsp; ) -&gt; Self;</p><p style="margin:0px;margin-left:4px;">&nbsp;+ car_type(&amp;self) -&gt; CarType;</p><p style="margin:0px;margin-left:4px;">&nbsp;+ fuel(&amp;self) -&gt; f64;</p><p style="margin:0px;margin-left:4px;">&nbsp;+ set_fuel(&amp;mut self, fuel: f64);</p><p style="margin:0px;margin-left:4px;">&nbsp;+ seats(&amp;self) -&gt; u16;</p><p style="margin:0px;margin-left:4px;">&nbsp;+ engine(&amp;self) -&gt; &amp;Engine;</p><p style="margin:0px;margin-left:4px;">&nbsp;+ transmission(&amp;self) -&gt; &amp;Transmission;</p><p style="margin:0px;margin-left:4px;">&nbsp;+ gps_navigator(&amp;self) -&gt; &amp;Option&lt;GpsNavigator&gt;;</p><div><br></div>" style="verticalAlign=top;align=left;overflow=fill;fontSize=12;fontFamily=Helvetica;html=1;whiteSpace=wrap;" vertex="1" parent="WIyWlLk6GJQsqaUBKTNV-1">
<mxGeometry x="90" y="520" width="360" height="360" as="geometry" />
</mxCell>
</root>
</mxGraphModel>
</diagram>
</mxfile>