这个模块是为了解决模块启动时候的初始化问题的。
我们希望调用BootManage的Boot方法后,可以启动该系统中所有需要启动的内容,从而完成系统的初始化。
IBoot接口如下:
可以看到,我们需要为每个IBoot的实现规定一个名字,值得注意的是,这个名字是全局不可重复的,否则在启动的时候就会抛出异常。
Enabled就不解释了。
Boot中为具体的启动内容。
而PreBootList,即为在该项启动内容启动之前需要启动的内容。
在Boot过程中会根据这些内容进行排序,如果无法顺利启动所有内容,会出现异常。