关于设计中“可拔插”的理解,求教

08-12-29 pluto4596
项目中,客户提出了要求,基于软件可扩展性的考虑,希望能够设计成可拔插的模式

思考后,有下面一种方案:

使用xml配置文档,设定需要的模块:如积分系统,奖励系统等,并设定部分参数等信息

程序中在服务器启动时加载配置信息,然后利用工厂模式生产对象

然后思路就定格在这里,所谓的可拔插,是不是就意味着利用外部配置的形式

是否还有其他思路实现 所谓的可拔插 呢?

    

IceQi
2008-12-29 22:35
外部配置是一定的,或者可以自动扫描。

考虑到插拔,那么就需要强化“接口”的理解了,如何抽象业务过程提炼得到一个共同的接口是这个过程的核心。

pluto4596
2008-12-30 09:00
呵呵 我想试下有没有其他更优的思路

看来可能这样才是最理想的

接口的提炼确实是设计中的难点,大概也只能靠经验来弥补了

感谢IceQi

IceQi
2008-12-30 17:32
接口恰恰是最简单的方式了,除此以外你也可以用反射,不过那样涉及到协议等等的问题会更麻烦的。

dearshor
2009-01-01 15:25
可以参考OSGi的架构方式、程序设计模型。OSGi在应付这方面的需求时,有着天生的优势。

另外也可以考虑portal,把“积分系统,奖励系统等”做成一个个portlet,组装到portal里去,不需要时亦可方便卸下。

和OSGi比,portal/portlet方案在“可拔插模块”上,“粒度更粗”。

猜你喜欢