我在上一篇笔记<Castle学习笔记----初探IOC容器 >里讲到过.
通常IOC实现的步骤为-->建立容器-->加入组件-->获取组件-->使用组件.这篇文章还是以这四个环节来阐述。
一.建立容器
这里我拿手上的一个现成项目来做分析,首先我们得建立IOC容器.项目中是建立了一个容器类Container来专门负责IOC容器的搭建及组件的加入.代码如下:

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

二 . 加入组件
加入组件的过程在上一部建立容器的时候我们已经指定让他去配置文件中查找。看看下面代码:

2

3




上面我门定义了castle配置节点,那castle的配置节点该怎么去配置呢,看看下面的配置代码:

2

3

4


2

3

4

5

6

7

8

上面这样的组件配置到底是什么意思呢?在这里我给大家分析下。
service="TMS.Service.IUserInfoService,TMS.Service"----代表服务(既接口,在TMS.Service这个程序集下)
type="TMS.Component.UserInfoComponent,TMS.Component" --代表组件(既实现服务的类,TMS.Component下)
现在大家应该很清楚的知道上面的配置是什么意思了吧,也就是说TMS.Component程序集下的UserInfoComponent这个组件类实现了TMS.Servie程序集下的UserInfoService这个服务(接口).
三 .获取组件及使用组件
说了半天终于到了最后阶段了。前面的都是为这一步做准备工作,真是享福的在后面,下面来看看怎么获取一个组件并使用这个组件。

下面是调用代码:

2

3

4

5

运行结果如下:
Castle IOC示例程序下载