LightweightCTI开发实录(5)板卡适配器概述
2006-08-07 22:48
218 查看
二、系统设计
2.1、板卡驱动程序适配器
对于一个企业、一个应用来说,我们可能只会使用到一种厂商的语音卡,而如果是对于不同的企业或客户,那么我们将不能保证其都使用同一种型号的板卡。此时,对于系统架构来说则需要充分权衡各方面的关系进行综合的选择。对于我们的LightweightCTI来说,为了能够最好的兼容不同厂商的板卡,在设计时我们引入了板卡驱动程序适配器层,通过板卡驱动适配器来屏蔽上层开发人员在使用不同板卡时的复杂程序。通过适配器层,不同板卡的驱动程序对于上层的业务逻辑开发人员来说将是透明的,他们根本不用了解每个驱动程序是如何加载的、电话呼出过程、信号音检测的过程等等动作都将统一交给适配器去完成,他们只需要关心如何去完成相应的业务功能。通过在驱动程序与上层业务软件之间插入适配器将带来如下一些好处:
l 能够良好的屏蔽不同厂商不同型号语音卡驱动程序之间的差异性与复杂性;
l 为上层开发人员提供了一致的开发接口,有利于应用软件在不同厂商的板卡之间进行移植;
l 可以更好的复用相关的设计,不论是下层适配器还是上层应用软件的复用程序都将大大提高,同时还可以充分屏蔽不同层之间的错误有利于软件的调试;
l 能够使用得应用软件与底层适配器层的开发工作并行的开展,为周期短的项目节约宝贵的资源。
板卡适配器层将带来以上主要的优点,那么怎样才能够实现上述功能呢?其实也十分简单,首先,我们需要完成对板卡驱动程序的加载,在加载驱动程序的时候完成相关的初始化工作;其次,需要引入通道对象(由于本文不是详细讨论面向对象设计,所以如何提取对象并对其进行抽象不在我们的叙述之列)后期业务应用的功能完成将由通道负责完成;最后,我们需要一个对象来负责任务的启动、板卡的加载、卸载等等,为此在适配器层我们加入了通道管理器(ChannelManager),由它来统筹所有的工作。完成后的板卡适配器将是如下这个样子。
好啦我将在下一次详细介绍每一部分的功能结构及系统时序图。并使用一种开发语言实现其原型。
相关文章推荐
- 语音卡开发系列: LightweightCTI架构设计(作者:东成西就)
- SSH网站开发实录(3)测试整合的SSH框架是否能用 SpringMVC+Spring+Hibernate
- Fast Computer Aided Design Platform 概述(二次开发指导说明)
- Palm OS 5开发概述
- 软件开发与编程语言概述
- java web 轻量级开发全体验之一:JSP技术概述
- J2EE开发全程实录
- 转载:SAP技术概述完结篇 - SAP开发平台
- 面向对象开发方法概述
- Python的概述和开发工具
- Android 快速开发系列 打造万能的ListView GridView 适配器
- Linux 应用开发 - IO 概述
- Android 开发从入门到精通 - Android 应用程序 — 概述
- [Java Web整合开发王者归来·刘京华] 2、 Java Web开发概述
- Arc Object开发,概述2
- 软件开发模式--软件开发教父与国内高手论道实录全文
- MMORPG大型游戏设计与开发(服务器 AI 概述)
- Kendo UI开发教程(7): Kendo UI 模板概述
- IOS开发基础Object-C(01)— OC概述及比较
- 《VC++项目开发全程实录》 第三章 PDF格式