java反射实战 -- 一些基础知识

来源:互联网 发布:如何清空淘宝收藏夹 编辑:程序博客网 时间:2024/05/16 05:15

             // 翻译注重翻译原文的意义,不会逐句逐句的翻译。


我们经常会使用反射简单而明了的解决工作中碰到的问题,如果不用的话,我们会耗费更多的时间和精力。看看下面这些情况:

1.您的项目经理正在做一个可插拔的框架项目,
该系统不管是在编译还是部署的情况下都能融合新的组件。您设置一些接口,并准备了一种机制来修补你的JAR,但你知道,这将不能完全满足可插拔的需求。


2.一个客户端应用程序开发了好几个月,销售部门突然告诉要用不同的远程调用机制,于是你必须重新实现所有远程调用接口。


3.你写的模块里面有一个公共的API只接受特定的包的调用,因为要防止其他人滥用你的模块。你添加一个参数来判断是不是合法的包来调用你的API,但是,现在的合法用户现在要改变他们的报名,你并不想被调用的代码也可能把包名改成你所允许的包名。


这些情况似乎说明,反转、模块化、远程访问和安全性,并没有太多的共同点。但是事实不是如此。每一个情况都可以通过基于原有的程序架构修改代码来应对需求的变化。


重新实现接口、打JAR包、修改方法调用。这些都是繁琐和机械的工作。事实上,你可以写一个算法来描述这些必要的步骤

1.检查程序的数据结构


0 0