基本如gameboyLV所说,这里将机器人和智能机器人分开,机器人没有能力行为,而智能机器人有能力行为,可以听说感觉等。智能机器人可以看成机器人在一定场合下需要扮演的角色。比如在排爆场景下,需要机器人有能力行为,这时我们就将智能机器人的行为注入到机器人中,让其具有智能机器人的行为,也就是扮演了智能机器人的角色。
DCI在Java中实现并不太优雅,在Ruby或Scala中比较方便,但是因为灵活性太强,导致代码难以理解,我们很多时候是根据代码运行的情况倒推其代码,但是因为运行的代码混合了很多其他代码,导致靠倒推理解其原始代码难度增加。