万星星@豌豆荚 欢迎加入我们
一个吃软饭的男人!!!!!我只想写程序####
微博:http://weibo.com/wanlianwen
posts - 172,  comments - 1253,  trackbacks - 0

平台+插件技术算是一种古老的技术了,Windows OS为我们提供了大量Win32 API就是所谓的编程接口,我们基于Windows编的程序就是OS的插件,离开它就无法运行。平台插件技术在翻新,随着Eclipse的风靡,这种模式一直不衰,然而思想是陈旧的,这里我谈点自己的看法。

浅释平台插件
什么叫台呢?台,观四方而高者——《说文》。一个四方的高的平台,给你一种支撑。
舞台给演员提供了展示自我的地方,有音响、灯光、帷幕等,而每个演员好比插件,可能是一个歌唱家、相声演员、舞蹈家。演员踏着台阶来到幕后,帷幕拉起,演员进场在灯光和音响下表演,结束后退到幕后,帷幕拉下,然后是另一个演员上场。离开舞台,演员就成了普通人。一个舞台可以成就很多艺人,他们有各自不同的风格,然而他们都是艺术家,不是政客或商人,他们站在舞台上是表演艺术的。
平台插件体系也是如此。平台是用来解决一类问题的基础设施,它提供了解决问题的工具、遵守的法则以及插件体系管理。有了数字运算工具以及运算法则(先加减后乘除),我们可以解决所有的四则运算问题。以前做地理系统中有这样问题,拉动网格中节点。这个问题包含类两个方面,首先拉动会导致数据更新,然后是拉动要遵守规则--节点所有相连线要跟随拖动。这里变可以把这两个基础服务放入平台,移动规则和数据修改。这样用户做一个插件集成到平台里面,拖动网格中的一个节点,按照规则找到所有相连线,然后对这些线进行数据更新。

典型应用平台插件模式

平台插件的优点
1、平台发布后,在平台不动的前提下通过插件可以使功能扩展。试想我们在操作系统上做了多少软件。
2、功能的重用,平台本身是对所解决问题的一个同类项合并过程,提出公因式,这样便提高了模块的复用率。
3、职责清晰,平台提供功能接口,插件只需要按照接口规范实现调用即可,至于平台内部功能的优化只要不涉及接口,都是没有问题的。
4、产品研发周期缩短。平台以及核心业务实现后即可推出产品,扩展功能可以在后续版本以插件方式开发或交由其他二次开发公司开发。
5、基于组件的平台本身支持多种语言二次开发,可以降低二次开发难度,提高开发效率。

平台插件的不足
1、接口的制定比较困难,由于接口的改动会影响很大,所以插件接口的指定很重要。可能由于功能的不断需要导致接口混乱。
2、基础服务功能粒度的难以把握。粒度太细可能导致模块增多难以控制,粒度太粗复用率太低。
3、基于COM做的时候引用计数的维持很可怕,接口查询成千上万,被一个马虎的程序员弄错一次就导致组件无法释放。
(2006.7.5于北京华亭)

posted on 2006-07-05 20:44 万连文 阅读(1888) 评论(4)  编辑 收藏 引用 所属分类: ATL乱七八糟

FeedBack:
# re: 我的平台+插件观
2007-05-16 09:24 | laiboy
现在的插件平台很多,对于一个平台,能应付目前工程就是要做到轻量级(可以参考Com,但不是要做到COM的程度),能快速进行二次开发(对于VC6,提供AppWizard,模版等方法)  回复  更多评论
  
# re: 我的平台+插件观
2007-05-16 14:48 | laiboy
如果有兴趣,可以交流一下插件平台,对我的插件平台有何看法.

VC6.0 + MFC  回复  更多评论
  
# re: 我的平台+插件观
2007-05-16 14:58 | 万连文
看了你的冬冬,觉得很不错。ui风格也比较协调。你说到的业务逻辑用脚本写本人不认同,业务逻辑应该是一个公司的核心业务,其中最核心的部分应该是规则,可以用C++写然后用com封装,对于规则的应用使用脚本我觉得应该这样。  回复  更多评论
  
# re: 我的平台+插件观
2007-05-16 15:00 | 万连文
最近一段时间很忙,在组织一套ui构建平台,也是本人的毕业设计题目,所以交流减少许多。  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


简历下载
联系我

<2007年7月>
24252627282930
1234567
891011121314
15161718192021
22232425262728
2930311234

常用链接

留言簿(66)

随笔分类

随笔档案

相册

搜索

  •  

最新评论

阅读排行榜

评论排行榜