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

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


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

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


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


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


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


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

1.检查程序的数据结构


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值