科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道应用软件 Java下的框架编程(3)--关于反射的碎话

Java下的框架编程(3)--关于反射的碎话

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

反射是一种让框架能够根据 "以字符串形式存在的信息" 来调用对象的属性和函数的技术,是Java对C++最大的进步之一---让框架编程真正走向平民化。

作者:calvinxiu 来源:CSDN 2008年5月29日

关键字: 反射 java python 软件

  • 评论
  • 分享微博
  • 分享邮件
反射是一种让框架能够根据 "以字符串形式存在的信息" 来调用对象的属性和函数的技术,是Java对C++最大的进步之一---让框架编程真正走向平民化。MFC年代,无论侯捷如何深入浅出,还在念大学的我就是搞不懂那些注册"消息--函数映射"的魔法宏。

     不过Java的反射也就是对着C++比较自豪而以,因为C#,Ruby,Python甚至php都标配了反射的功能。而且,人家的反射语法都是内嵌在基础Object类的,拿最弱的php来看:
$func_name="helloworld";
$foo->$func_name;

     而Java,却搞出了Class,Methed, Field,Constructor这么一大堆类出来。本来这是Java设计师很严谨,很cool的体现,问题是它居然不提供一种集成的简便的写法......相同的情形还出现在Java的I/O 类库里。
    微软这方面就做得好些,懂得讨好开发人员。

    因为Java的无情,就搞得大家的项目里要自制BeanUtils了。幸亏Apache Jakarta Commons已经做了一个比较好的,可以直接使用--以前写的介绍文章。
    另外Spring也做了一个。

    闲得没事做的,还可以emule一本〈Relection in action〉回来看。

    而C++下面的"反射",见我偶像di文章。另还有一个比较BT的C++框架叫ACDK的,把自己整得和Java很像,有反射和垃圾收集,甚至和JSDK差不多的线程,Unicode,I/O,网络,XML API。可惜的是,即使到了C++0x, B大叔还是不准备在语言级支持反射。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章