81. ///
82. public override void AnalysisOfKeyPoints()
83. {
84. vidio.AddVidioContent("分析代码实现中的关键技术点");
85. }
86.
87. ///
88. /// 获得录制好的视频
89. ///
90. ///
91. public override VidioProduct GetVidio()
92. {
93. return vidio;
94. }
95. }
可见我们邀请的两位高手都按照我们统一录制视频的顺序录制视频啦,那么是谁邀请我们的高手呢?当然我们还有一个指挥者啦,指挥者就是我们的嗨客们与嗨皮吧啦,我们来提出需要视频的类型,代码如下:
1. ///
2. /// 嗨客指挥者
3. ///
4. public class HappyDirector
5. {
6. public void BuildingVidio(VidioBuilder builder)
7. {
8. //第一步
9. builder.DemonstrationEfect();
10. //第二步
11. builder.Principle();
13. builder.Coding();
14. //第四步
15. builder.AnalysisOfKeyPoints();
16. }
17. }
OK,完事具备,看看Main函数如何调用吧,代码如下:
1. static void Main(string[] args)
2. {
3. HappyDirector director = new HappyDirector();
4. VidioBuilder mrQin = new MrQin();
5. VidioBuilder mrZhang = new MrZhang();
6.
7. //首先让秦春林录制WP7 cocos2d游戏开发视频
8. director.BuildingVidio(mrQin);
9. VidioProduct v1 = mrQin.GetVidio();
10. v1.PlayVidio();
11.
12. //接下来让张智录制 asp.net oracle项目实战视频
13. director.BuildingVidio(mrZhang);
14. VidioProduct v2 = mrZhang.GetVidio();
15. v2.PlayVidio();
16. }
运行结果如下:

那么建造者模式就已经完成了。
作者 王波洋