1+ #include <stdio.h>
2+ #include "func.h"
3+
4+ /*
5+ * 指挥者,负责指挥建造者建造产品,隔离需求
6+ * c语言里没有类也不支持函数重载,这里仅用作函数集合
7+ */
8+
9+ // 建造phone的iphone
10+ void build_iphone (PhoneBuilder * builder )
11+ {
12+ reset_phone (builder );
13+ int screen [2 ] = {120 , 500 };
14+ set_phone_name (builder , "iPhone" );
15+ set_phone_screen (builder , screen );
16+ set_phone_gpu_type (builder , 100 );
17+ }
18+
19+ // 建造phone的huwei phone
20+ void build_huawei_phone (PhoneBuilder * builder )
21+ {
22+ reset_phone (builder );
23+ int screen [2 ] = {140 , 600 };
24+ set_phone_name (builder , "HuaweiPhone" );
25+ set_phone_screen (builder , screen );
26+ set_phone_gpu_type (builder , 102 );
27+ }
28+
29+ // 建造phone的mi phone
30+ void build_mi_phone (PhoneBuilder * builder )
31+ {
32+ reset_phone (builder );
33+ int screen [2 ] = {130 , 550 };
34+ set_phone_name (builder , "MiPhone" );
35+ set_phone_screen (builder , screen );
36+ set_phone_gpu_type (builder , 103 );
37+ }
38+
39+ // 建造iphone手册
40+ void build_iphone_manual (ManualBuilder * builder )
41+ {
42+ reset_manual (builder );
43+ int screen [2 ] = {120 , 500 };
44+ set_manual_name (builder , "iPhone" );
45+ set_manual_screen (builder , screen );
46+ set_manual_gpu_type (builder , 100 );
47+ }
48+
49+ // 建造huwei manual手册
50+ void build_huawei_manual (ManualBuilder * builder )
51+ {
52+ reset_manual (builder );
53+ int screen [2 ] = {140 , 600 };
54+ set_manual_name (builder , "HuaweiPhone" );
55+ set_manual_screen (builder , screen );
56+ set_manual_gpu_type (builder , 102 );
57+ }
58+
59+ // 建造mi manual手册
60+ void build_mi_manual (ManualBuilder * builder )
61+ {
62+ reset_manual (builder );
63+ int screen [2 ] = {130 , 550 };
64+ set_manual_name (builder , "MiPhone" );
65+ set_manual_screen (builder , screen );
66+ set_manual_gpu_type (builder , 103 );
67+ }
0 commit comments