当前位置: 首页 > 工具软件 > bdk > 使用案例 >

Beans Development Kit (BDK)分析(六) (转)

邓崇凛
2023-12-01
Beans Development Kit (BDK)分析(六) (转)[@more@]

5.其它

objectInputStreamLoader.Java  作为ObjectInputStream的子类,代理为存在的ClaSSLoader加载类。主要用于加载基本类型的数组对象XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

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对象。

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,而不用到处是用传递参数的方法来实现。对于源代码中所用的技巧,对于大家来说有的很熟悉,有的很陌生,同时要理解这些技巧也需要花一些功夫,只要理解为我所用,成就感还是蛮大的。

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

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

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


来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10752019/viewspace-958621/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10752019/viewspace-958621/

 类似资料: