摘要: 最近一直在学习OSGI方面的知识。买了一本《OSGI原理和最佳实践》,可是还没有到。遗憾的是,OSGI目前的几个开源框架只支持Java,对C和C++都不支持的。可惜我们公司目前主要的开发语言还是c和c++,即便是引进OSGI,所得的好处范围有限。而我对松散耦合的模块化开发向往已久。查了一下OSGI对C++支持的好像是有一个开源项目,不过好像应用范围很小。而SCA标准中是有对C++实现模型的支持的,... 阅读全文
posted @ 2009-10-12 20:17 常高伟 阅读(4590) 评论(0) 推荐(0) 编辑
摘要: 《重构》第三章学习笔记 我们必须培养自己的判断力,来决定在什么时候进行重构。 1.1  Duplicate Code(重复代码) 如果你在一个以上地点看到相同的程序结构,那么将他们合而为一会更好。 1.2  Long Method(过长函数) 拥有短函数的对象会活得比较好,比较长。 间接层所能带来的全部益处:解释能力(可读性),共享能力(重用性),选择能力(?)。 ... 阅读全文
posted @ 2009-10-12 20:15 常高伟 阅读(686) 评论(0) 推荐(0) 编辑
摘要: 以前做过一个产品,共分为三层:平台层,应用服务器层,应用层。其中有一个业务流程,实现是在应用层,但它那里的信息不全,需要通过应用服务器层向平台层获取必要的业务数据,然后通过应用服务器层控制业务流程。当时考虑这个结构的时候,主要的出发点就是业务和控制分离,将业务处理从平台层剥离开来。当时,在具体是实施过程中,我们工程师对这种结构抵触心理很强烈。他认为我们的业务开发非常的繁琐,而且经常要贴“狗皮膏药”... 阅读全文
posted @ 2009-10-12 20:14 常高伟 阅读(1554) 评论(0) 推荐(0) 编辑
摘要: 1  构筑测试体系 如果你想进行重构,首要前提就是要拥有一个可靠的测试环境。 “编写优良的测试程序,可以极大的提高我的编程速度,即使不进行重构也是如此。” 1.1  自我测试代码(Self-testing Code )的价值 “Class 应该包含他们自己的测试代码。” “每个Class 都有一个测试函数,并用它测试自己这个 Class 。” 确保所有的测试都完全自... 阅读全文
posted @ 2009-10-12 20:11 常高伟 阅读(555) 评论(0) 推荐(0) 编辑
摘要: 我设计的流程引擎是脚步驱动的。脚本中定义了流程执行的环境,流程操作的对象,流程执行的步骤。下面是一个流程脚本的示例: <?xml version="1.0" encoding="utf-8"?> <process name="make_call">     <data type... 阅读全文
posted @ 2009-10-12 20:09 常高伟 阅读(534) 评论(0) 推荐(0) 编辑
摘要: 上一篇介绍了微内核流程引擎开发背景,这篇介绍它的功能描述。 基本功能: 1、能够通过脚本定义流程,更改流程。 2、对软交换系统应用服务器的所有的接口都可以编辑。 3、异常处理,实现补偿机制。 4、流程要支持:顺序执行,分支处理,跳转执行。 5、脚本中支持简单的数据库操作,比如:记录查询(根据查询结果决定流程),字段查询,记录增删改。 扩展功能: 1、提供多种调用形式:1)动态链接库直... 阅读全文
posted @ 2009-10-12 20:07 常高伟 阅读(497) 评论(0) 推荐(0) 编辑
摘要: 开发背景 我们公司是主要从事企业语音方面产品的开发,主要产品比如:调度系统,指挥系统,电话会议系统,呼叫中心系统等。这些系统都有一个共同特点,就是涉及到呼叫,放音,收发按键,会场操作。我们的业务产品都是基于我们的软交换系统之上构建的,软交换系统的应用服务器向外提供这些服务。 产生的问题 我们在开发的过程中就发现一个问题,每个产品在此接口上都会做很多重复的开发,特别是在IVR处理上面。 IVR... 阅读全文
posted @ 2009-10-12 20:06 常高伟 阅读(929) 评论(0) 推荐(0) 编辑