参考来源:高焕堂 B05_a_AIDL与Proxy-Stub设计模式_ok.pdf
一,Proxy-Stub的作用
如下图,Binder与myBinder之间多了一个BinderStub,这样子Binder的接口就可以保持不变,把开发的任务交给Stub,也就解耦了Binder和myBinder的关系。
image.png
二,Proxy-Stub之两层EIT结构
如下图,activity为了与service交互,必须借助于binder,按照下面的设计框架,activity端有一个binder的proxy,service端有一个binder的stub。proxy会编码并调用Binder的ontransact,BinderStub的ontransact会解码,并调用相应的接口(如图中的f1和f2)。从设计结构来讲,Binder就是大E,Binder的onTransact是大I,BinderStub是T。而BinderStub同时也是小E,BinderStub的f1和f2是小I,
myBinder的f1和f2是小T。这就构成了两成EIT结构
image.png
image.png