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

amyz發表於2007-08-15
Beans Development Kit (BDK)分析(六) (轉)[@more@]

5.其它

l  InputStreamLoader.  作為ObjectInputStream的子類,為存在的Claoader載入類。主要用於載入基本型別的陣列。:namespace prefix = o ns = "urn:schemas--com::office" />

l  IndentedStream.java  這個工具類是用來產生的

l  InputStreamProducer.java 該介面按需提供一個輸入流

l  Clasmpiler.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,而不用到處是用傳遞引數的方法來實現。對於原始碼中所用的技巧,對於大家來說有的很熟悉,有的很陌生,同時要理解這些技巧也需要花一些功夫,只要理解為我所用,成就感還是蠻大的。

  分析原始碼是每個學習開發的人都會遇到的事情,無論是分析一份經典的程式碼比如什麼的核心啊,或者比較濫的程式碼,就是公司以前的爛尾專案需要修改等。有的有文件,有的有註釋,有的什麼都沒有,所以分析原始碼難度不同,重要的是都先要提綱挈領的檢視所有的程式碼,領會大概流程和總體,然後由這個框架檢視關鍵的程式碼,這樣對原始碼的分析就會比較迅速,比較有代表性。最後就是學習其中值得自己關注的東西,比如設計思維,程式設計技巧等。

  以前分析都沒有認真地用文件記下來,當真正的用文件記下來的時候,才發現很多東西都不太會表述,成了“茶壺裡面的湯圓,倒不出”。所以大家能夠多練習一下,將自己所看所想得到用文件描述下來,對自己日後的分析描述能力一定會有所提高。

  畢竟不是專家級人物,分析難免有所紕漏和不當之處,請大家指出,謝謝!to:我的是chinascutface@.com">我的email是chinascutface@hotmail.com。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958621/,如需轉載,請註明出處,否則將追究法律責任。

相關文章