一,一般来说你要做一件复杂的事情的时候,把它分成多个小的部分来做是比较好的方法,
把每个小部分做完,然后结合成一个完整的事情。例如生产一辆汽车,你是一个个零件
生产完了,才组装成一辆辆汽车。这个就是建造模式的工作。
二,建造模式的角色
1、抽象建造者
2、具体构造者
3、导演者
4、产品角色
三、实现代码 :
把每个小部分做完,然后结合成一个完整的事情。例如生产一辆汽车,你是一个个零件
生产完了,才组装成一辆辆汽车。这个就是建造模式的工作。
二,建造模式的角色
1、抽象建造者
2、具体构造者
3、导演者
4、产品角色
三、实现代码 :
?1
抽象构造者:
?2
abstract
?
public
?
class
{
?3
????//构造零件
?4
????public?abstract?void?buildPart1();
?5
????//构造零件
?6
????public?abstract?void?buildPart2();
?7
????//返还商品
?8
????public?abstract?Product?retrieveResult();
?9
????
10
}
11
具体构造者:
12
public
?
class
?ConcreteBuilder?
extends
?Builder
{
13
????private?Product?product?;
14
????
15
????public?Product?retrieveResult()
{
16
????????product=?new?Product();
17
????????product.setPart1(buildPart1());
18
????????product.setPart2(buildPart2());
19
????????return?product;
20
????}
21
????public?Object?buildPart1()
{
22
????????//构造part1
23
????????Object?part1?=?
;
24
????????return?part1;
25
????}
26
????public?Object?buildPart2()
{
27
????????//构造part2
28
????????Object?part2?=?
;
29
????????return?part2;
30
????}
31
}
32
public
?
class
?Product
{
33
????Object?Part1;
34
????Object?Part2;
35
????public?void?setPart1(Object?Part1)
{
36
????????this.part1?=?part1;
37
????}
38
????public?void?setPart2(Object?Part2)
{
39
????????this.part2?=?part2;
40
????}
41
}
42
//
导演者
43
public
?
class
?Director
{
44
????private?Builder?builder;
45
????public?void?construct()
{
46
????????builder?=?new?ConcreteBuilder();
47
????????builder.retrieveResult();
58
????}
49
}

?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

58

49


dreamstone 2007-01-07 15:19
发表评论