`

怎么重用一个功能

阅读更多
想重用一个功能,有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点多发个毛帖子     不加班就是牛逼啊!!!

相关推荐

    c++ 代码重用教程

    这种层次结构有助于代码组织和重用,因为多个类可以共享一个公共的基类,而每个类可以专注于特定的功能细节。 模板是C++中的泛型编程工具,它允许我们在不指定具体类型的情况下编写函数或类。这样,同一段代码可以...

    一种基于UVM面向RISCCPU的可重用功能验证平台.pdf

    9.PKU.DSPII:是北京大学深圳研究生院的一个研究项目,旨在开发基于UVM的可重用功能验证平台。 10.实验结果:实验结果表明,基于UVM的可重用功能验证平台可以提高验证效率和覆盖率,达到约7%的覆盖率提升。 本文...

    UIScrollView重用

    自动轮播功能是在 `UIScrollView` 上叠加一个定时器实现的。以下是如何实现的步骤: 1. 创建定时器:使用 `NSTimer` 创建一个定时器,设定合适的间隔时间(如3秒)。 2. 定义轮播逻辑:在定时器的回调方法中,通过...

    如何提高代码重用性

    例如,工厂模式用于创建对象,单例模式确保一个类只有一个实例,装饰器模式动态地给对象添加新的功能,等等。应用设计模式可以提高代码的灵活性和可扩展性,同时减少代码的复制粘贴。 5. **库和框架的利用**:Java...

    在 Altium Designer 中使用重用块和片段

    当你在原理图中放置一个重用块时,其对应的PCB布局会在ECO(工程变更订单)过程中自动放置到PCB文档中。这使得设计者能够轻松地在整个设计流程中同步原理图和PCB布局。 **片段**分为两种类型:**原理图片段**和**...

    Java代码重用之功能与上下文重用

    一旦一段代码被封装和重用,那么只需要检查很少的一段代码即可确保程序的正确性。接下来通过本文给大家介绍Java代码重用之功能与上下文重用的相关知识,感兴趣的朋友跟随脚本之家小编一起学习吧

    可重用代码管理器

    可重用代码管理器作为一个专门的工具,它的主要功能包括: 1. **代码存储**:管理器提供了一个集中化的存储空间,用于保存各种类型的代码片段,如函数、类、模块等,确保它们有序且易于查找。 2. **分类与标签**:...

    UG重用库使用 产品模板使用

    UG(现在通常称为NX)是西门子PLM软件推出的一套高端CAD/CAM/CAE集成解决方案,其中重用库是NX中的一个重要功能,它的目的是为了提高设计效率和标准化程度,通过提供一系列可重用的部件、模板和组件来加速产品设计...

    可重用FragmentTabHost例子

    本示例将深入探讨如何创建一个可重用的FragmentTabHost,并通过实际的demo代码来演示其精妙用法。 首先,了解FragmentTabHost的基本概念。FragmentTabHost是TabHost的一个子类,它允许我们在每个标签页中插入...

    软件重用方面的资源_设计-开发-研究

    这些资源为IT专业人士提供了一个全面的视角,深入了解和实践软件重用,无论是通过面向方面的编程、模式导向的开发,还是通过构建和利用可重用构件。通过学习这些内容,开发者可以提升自己的能力,创造出更高效、更...

    Delphi 窗体重用

    将窗体封装到DLL中可以方便地在多个项目之间重用,比如在这个例子中,`DLLCTCY`可能是一个实现了特定功能(如统计科目选择情况)的动态库。 首先,让我们深入了解一下窗体在DLL中的实现。在Delphi中,创建一个DLL...

    UIscrollView重用机制

    在RootViewController中,初始化了一个UIScrollView,并设置了其属性如bounces(允许弹簧效果), pagingEnabled(分页功能), delegate(代理)等。同时,设置UIScrollView的contentSize来决定滚动区域的大小,...

    片上系统:可重用设计方法学 (第三版)

    这意味着设计一个组件或模块时,不仅要考虑其当前的功能实现,还要考虑其在未来的项目中能否被再次使用。这种方法学的主要好处是可以大大缩短设计周期,降低成本,并提高设计的可靠性和质量。 本书中描述的可重用...

    UI组件和可重用功能_JavaScript_下载.zip

    一个良好的组件应该具备清晰的接口,明确的职责,以及良好的可配置性和可扩展性,以适应不同的应用场景。 在"ui-master"这个文件夹中,可能包含以下内容: 1. **源码文件**:JavaScript文件(.js)或TypeScript...

    C++代码设计与重用.rar

    例如,工厂模式用于对象的创建,单例模式确保一个类只有一个实例,观察者模式用于对象间的通信。理解并应用设计模式能提高代码质量和重用性。 8. **代码重构**:当代码变得复杂或难以理解时,重构可以帮助改善代码...

    C++代码设计与重用.pdf

    错误处理也是一个重点,应当对可能发生的错误进行充分的考虑并提供相应的处理机制,以提高代码的健壮性。 书中还探讨了与代码重用相关的其他关键话题,例如如何处理继承带来的问题,以及如何设计具有高移植性的代码...

    tableView重用机制

    它的工作原理是:当一个Cell滑出屏幕范围时,系统会自动将其回收到一个“重用队列”中,然后当需要显示新的Cell时,首先从这个队列里取出一个可用的Cell进行复用,而不是每次都新建。这样大大减少了内存的分配和回收...

    ios-ScrollView的重用.zip

    "ios-ScrollView的重用.zip"这个压缩包显然是提供了一个关于如何在ScrollView中实现轮播并优化内存管理的解决方案,其核心是ScrollView的复用机制,这与UITableView和UICollectionView的Cell复用类似。 首先,让...

Global site tag (gtag.js) - Google Analytics