最近对几种流行的多媒体架构发生了兴趣,从Linux的gstreamer, 到Android下的opencore, 以及KreaTV的streamer,发现它们都走了同一条路,就是插件式架构。
插件式架构最大的特点就是分离了核心框架与扩展部件, 其优点不言而喻。
高扩展性:这一点无需多说。
高开放性:插件接口公开后,第3方就可以方便的参与进来,独立开发插件。
低耦合性:核心框架和扩展部件只要保持接口一致,各自可以独立变化;而扩展部件之间各自独立,大家
各不依赖。
低复杂度:扩展部件从框架中分离后, 大大降低了核心框架的复杂度。
高灵活性:核心框架可以根据功能需要灵活配置和加载扩展部件。
插件式架构设计由以下4部分组成:
1. 核心框架:顾名思义,这是个核心体,其主要功能就是负责整体运作,管理和调度插件,让插件来完成具体功能。呵呵, 说穿了,它就是个领导者,组织者的角色。
2. 插件接口:是一个接口协议,插件按照这个协议来实现,核心框架就可以有效的来组织和管理这些插件。我们可以把它理解为公司或者部门的规章制度,工作规范什么的。
3. 插件:就是完成实际功能的部件,比如RTSP协议, MP4解码等。它扮演着办事员或者工程师的角色。
4. 公共模块: