`

怎么重用一个功能

阅读更多
想重用一个功能,有3种方法:

1、拷贝代码

2、打成jar包,直接复用.class

3、将功能发布成服务(web service、rpc等)

比如今天做一个系统原型,有这么一个片段:
// 前面的一些操作
PluginServerProxy.handle(requestEvent);
// 后面的一些操作

作用就是将一个请求转发到“插件server”处理

有3个子系统,都需要类似的逻辑。这时候就有2种方式来重用:

第一种办法是把处理插件这部分的代码,全部打成jar包,比如plugin-service.jar,3个子系统都import

第二种办法是把处理插件的这块逻辑也作为一个子系统,单独部署,发布服务让这3个子系统来调用

不过2种办法,对客户端来说是透明的,都是一行调用

我觉得,打成jar包的方式,比发布服务的方式更轻量级一点,如果可以满足需求的话,尽量优先考虑这种方式

发布服务的好处,是可以单独部署提高性能;另外具有跨平台的优势

要具体情况具体分析
分享到:
评论
1 楼 kewen342757003 2013-01-26  
夜里2点多发个毛帖子     不加班就是牛逼啊!!!

相关推荐

Global site tag (gtag.js) - Google Analytics