Beans Development Kit (BDK)分析(六)

王朝java/jsp·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

5.其它

l ObjectInputStreamLoader.java 作为ObjectInputStream的子类,代理为存在的ClassLoader加载类。主要用于加载基本类型的数组对象。

l IndentedStream.java 这个工具类是用来产生源代码文件的

l InputStreamProducer.java 该接口按需提供一个输入流

l ClassCompiler.java 执行编译Java源代码的类,形如sun.tools.javac.*的功能,其实现实就是javac的一个外包,调用exec来执行javac的外部编译命令。

SimpleClassLoader.java

继承了ClassLoader,被JarLoader用来载入类和资源。这是一个比较值得仔细看得类,实现了一个简单的类装载器。

l Timer.java 工具类,用于内部的时间操作

l FileExtension.java 用来过滤文件的类,实现了FilenameFilter接口

l WindowCloser.java 工具类,用于捕获目标窗口的关闭事件

l AboutDialog.java BeanBox的About Dialog

EditedAdaptor.java

属性编辑适配器,实现了PropertyChangeListener接口。它只有一个成员变量就是一个PropertySheet对象。

l public void propertyChange(PropertyChangeEvent evt)通过调用PropertySheet的wasModified方法来实现

l MessageDialog.java 弹出提示信息的对话框类

l MessageHeader.java 定义消息头部

l ErrorDialog.java 抛出一个模态的错误Dialog,继承了MessageDialog

l CustomizerDialog.java 作为一个普通的组件编辑器,封装了一个Dialog

IBSupport.java

使用该类来支持infoBus机制来和bean通信

l OurLabel.java 用一个字符串代表一个不可见的bean

l DoOnBean.java 在创建Bean的时候要执行的动作的接口

五. 作者后记

这些代码都是出自从事编程和设计很多年的资深专家之手,其中有很多技巧值得我学习,首先体会到的是使用单态模式,这样的好处在于可以在任何地方直接得到最顶层的BeanBoxFrame,而不用到处是用传递参数的方法来实现。对于源代码中所用的技巧,对于大家来说有的很熟悉,有的很陌生,同时要理解这些技巧也需要花一些功夫,只要理解为我所用,成就感还是蛮大的。

分析源代码是每个学习开发的人都会遇到的事情,无论是分析一份经典的代码比如什么的内核啊,或者比较滥的代码,就是公司以前的烂尾项目需要修改等。有的有文档,有的有注释,有的什么都没有,所以分析源代码难度不同,重要的是都先要提纲挈领的查看所有的代码,领会大概流程和总体框架,然后由这个框架查看关键的代码,这样对源代码的分析就会比较迅速,比较有代表性。最后就是学习其中值得自己关注的东西,比如设计思维,编程技巧等。

以前分析都没有认真地用文档记下来,当真正的用文档记下来的时候,才发现很多东西都不太会表述,成了“茶壶里面的汤圆,倒不出”。所以大家能够多练习一下,将自己所看所想得到用文档描述下来,对自己日后的分析描述能力一定会有所提高。

毕竟不是专家级人物,分析难免有所纰漏和不当之处,请大家指出,谢谢!我的email是chinascutface@hotmail.com

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航