下图表示Bamboo的工作原理。

   Bamboo 的工作原理


  模块内部有三种情况:Data only, Plugin(s)+Data, Plugin(s) only。其中的Data是几何、纹理和声音,Plugin是属性。存在两种Plugin:由同一种语言开发的Plugin(Homogeneous),由多种语言开发的Plugin(Heterogeneous)。存在两种模块:平台无关的模块(所有Plugin用平台无关的语言开发,如Java、Perl、Pethon、Tcl或提供源代码的C/C++),平台专用的模块(至少一个Plugin不是用平台无关的语言开发,如ASM、C、C++、Fortran、Pascal,并且不提供源代码)。
  应用Bamboo的五个步骤:
  Step 1: 'Hello World'
  在这一步产生应用: 建立异构环境,单个来源树,跨平台的简化代码管理,建立规则,自动子目录循环,按照相关次序编译模块,自动包括和库存路径,自动declspec和库存链 (对WinNT API).
  Step 2: Bamboo 'Hello World' Module
  在这一步产生Bamboo 的模块: 定义'init'和'exit'函数, 产生Bamboo makefile.
  Step 3: Bamboo-ized 'Hello World' Module
  在这一步进行 'Hello World' 的 'Bamboo-ize': 以Bamboo 'printer'类代替 'cout' ,加入 'exit' 函数, 加入 bbKernelModule.
  Step 4: 'Hello World' Class Module
  在这一步把 'Hello World' 放进一类: 产生'kents_class' (他在建立上印出'Hello World',在破坏上印出'Bye World' ), 改变'init' 和 'exit' 函数, 产生和消除'kents_class'的实例.
  Step 5: Derived 'Hello World' Class Module
  在这一步产生一个模块,它包含由'kents_class'得到的一个类: 产生'howards_module', 加入'kents_module', 产生由'kents_class'得到的'howards_class'。