Beans Development Kit (BDK)分析(六)

类别:Java 点击:0 评论:0 推荐:
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是[email protected]

 

本文地址:http://com.8s8s.com/it/it17787.htm