当前位置:七道奇文章资讯编程技术Java编程
日期:2011-03-22 16:14:00  来源:本站整理

Java中操作Reflection API优化代码[Java编程]

赞助商链接



  本文“Java中操作Reflection API优化代码[Java编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

择要

开辟者通过各种各样的办法来尝试避免单调冗余的编程.一些编程的法则比方担当、多态大概计划模子可以帮忙开辟者避免产生多余的代码.不过由于软件开辟方面存在着不肯定性,因此这些法则并不能消除代码保护和重新编写的需求.在很多时刻保护都是不可避免的,只有不能运作的软件才是从不需求保护的.不过,这篇文章介绍了你可以利用Java的Reflection API的功效来削减单调的代码编写,并可以利用活动的代码产生来降服reflection的限制.

数据配置(由外部的源头得到数据并且将它装载到一个Java对象中)可以操纵reflection的好处来成立一个可重用的筹划.问题是很简单的:将数据由一个文件装入到一个对象的字段中.目前假定用作数据的目标Java类每星期改变一次?有一个很直接的办理办法,不过你必须不断地保护载入的历程来反映任何的改变.在更复杂的环境下,一样的问题大概会令系统崩溃掉.关于一个处理过应用XML的大型系统的人来说,他就会碰到过这个问题.要编写一个载入的历程普通是非常单调乏味的,由于数据源大概目标Java类的改变,你需求常常更新和重新编写代码.在这里我要介绍另一个办理筹划,那就是利用映射,它普通利用更少的编码,并且可以在目标Java类发生改变后更新自己.

最初,我想介绍一个利用Reflection在运行期间配置数据的筹划.在开始的时刻,一个动态、基于映射的程序要比一个简单的办法更有吸引力多了.随后,我要揭暴露运行时Reflection的复杂性和冒险性.这篇文章将介绍由运行时的Reflection到活动的代码产生.

由简单到复杂

我的第一个筹划利用一个载入类将数据从一个文件载入到对象中.我的源代码含有对StringTokenizer对象下一节点办法的多次调用.在改正多次后,我的编码逻辑变得非常的直接、系统化.该类构造了专用的代码.在这个初始筹划中,我只需求利用3个基本的对象:

1、Strings

2、Objects

3、Arrays of objects

你可以影射类的对象来产生代码块,以下表所示:

被影射来产生代码块的对象

Field type Code block
String fileIterator.nextString();
Object[] Vector collector = new Vector(); while(fileIterator.hasMoreDataForArray()){ Object data = initializeObject(fileIterator)collector.add(data); } Object[] objArray = new Object[collector.size()]; collector.copyInto(objArray);
Object initializeObject(fileIterator);

**************表一**************

我已经利用这个筹划作了几次编码,因此我在写代码之前我已经知道该筹划和代码的构造.难点在于该类是改变的.类的名字、成份和构造在任什么时刻候都大概发生改变,而任何的改变你都要重新编写代码.固然会发生这些改变,但是构造和下载的流程仍旧是一样的;在写代码前,我仍旧知道代码的构造和成份.我需求一个办法,来将头脑中的编码流程转换为一个可重用的、自动的情势.由于我是一个有效率的编程者,我很快就厌倦了编写几近一样的代码,这时我想到了映射.

数据配置普通需求一个源到目的数据的影射.影射可以是一个图解、DTD(document type definition,文档范例定义),文件格局等.在这个例子中,映射将一个对象的类定义注释为我们要映射的流程.映射可以在运行时复制代码的功效.在需求重写代码时,我将载入的历程用映射来替换,它所需求的时间和重写是一样的.


  以上是“Java中操作Reflection API优化代码[Java编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 利用Javascript实现网页水印(非图片水印)
  • Java开辟环境的搭建
  • Ubuntu java安装与配置
  • 办理Ubuntu 10.04 Firefox3.6 Java浏览器插件不工作的问
  • Ubuntu重装后Java环境的设置
  • Sun Java进入Ubuntu 10.10软件中央
  • Ubuntu 10.10配置Java开辟环境
  • 在Ubuntu 10.10中配置Java环境变量的办法
  • Ubuntu下Java环境的搭建
  • Ubuntu 10.04 下安装 Java, JRE
  • Ubuntu 10.04下的搭建SUN JAVA开辟环境
  • Ubuntu 12.04安装java7
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .