自身接口被调用的方式
情况一:回调函数方式。我们站在被触发的角度下(即:由另一方来调用我们自身的接口),往往我们需要将自身的接口通过对方某个接口设置进去。对方需要告知我们内容时,通过调用上述的设置进去的接口即可。
情况二:对象函数方式。对方持有我们自身对象的引用、或者指针、或对象,直接调用对象可见的接口。
使用场景
情况一:对方见不到我们对象的引用、或者指针。如:(1)跨库之间接口的调用、(2)让对方调用类中private、protected函数;
情况二:对方能够获取到我们对象的引用、或者指针。两方位于同一可见的空间内;
优缺点
优点:
情况一:自身的业务逻辑容易把控,并且不要include对方接口文件;不受对方版本变化的影响;
情况二:只保存被调用方的对象的引用,能够灵活调用对方对象所有可见函数;
缺点:
情况一:调用方需要保存被调用方的回到函数指针,如果回调函数较多,保存的函数指针会较多。
情况二:需要将具体接口文件发布给对方,如果对方版本发生变化,需要重新编译;可见接口较多,安全性也随之降低。