目录
5、 谁来写Proxy及Stub类呢?
-- 强龙提供AIDL工具,给地头蛇产出Proxy和Stub类
如何考虑人的分工
- 由框架开发者来撰写Proxy-Stub类,才能减轻开发者的负担。
- 框架分为: <天子框架>和<曹操框架>。
- 因此, 应该由两者(天子或曹操)之一来撰写Proxy-Stub类。
IA接口知识取得的难题
- 但是,有个难题: IA接口(如下图所示)的内容必须等到<买主>来了才会知道。
- 在框架开发阶段,买主还没来, IA接口的知识无法取得,又如何定义IA接口呢? 没有IA接口定义,又如何撰写Stub和Proxy类呢?

- 好办法是:
“强龙(天子或曹操)撰写代码(在先) ;然后地头蛇(App开发者)定义接口(在后)。 ”
在编程上,有什么技术可以实现这个方法?
技术之一是: 類別模板(class template)例如,强龙撰写模板:
template< class T >
class SomeClass
{
private:
T data;
public:
SomeClass() { }
void set(T da)
{ data = da; }
};
- 地头蛇利用模板来生成一个类:
SomeClass<Integer> x;
由于接口(interface)是一种特殊的类(class),所以也可以定义模板如下:
template<interface I>
class BinderProxy
{
// ………
};
- 地头蛇利用模板来生成一个类:
- 除了模板之外,还有其它编程技术可以实现<强龙写代码,地头蛇定义接口>的方案吗?
- 答案是:
程序生成器(program generator)
例如: Android的aidl.exe
AIDL
- AIDL的目的是定义Proxy/Stub来封装IBinder接口,以便产生更亲切贴心的新接口。
- •所以,在应用程序里,可以选择使用IBinder接口,也可以使用AIDL来定义出接口。
- AIDL的目的是定义Proxy/Stub来封装IB


839

被折叠的 条评论
为什么被折叠?



