Beans Development Kit (BDK)分析(六) (轉)
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物件。
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,而不用到處是用傳遞引數的方法來實現。對於原始碼中所用的技巧,對於大家來說有的很熟悉,有的很陌生,同時要理解這些技巧也需要花一些功夫,只要理解為我所用,成就感還是蠻大的。
分析原始碼是每個學習開發的人都會遇到的事情,無論是分析一份經典的程式碼比如什麼的核心啊,或者比較濫的程式碼,就是公司以前的爛尾專案需要修改等。有的有文件,有的有註釋,有的什麼都沒有,所以分析原始碼難度不同,重要的是都先要提綱挈領的檢視所有的程式碼,領會大概流程和總體,然後由這個框架檢視關鍵的程式碼,這樣對原始碼的分析就會比較迅速,比較有代表性。最後就是學習其中值得自己關注的東西,比如設計思維,程式設計技巧等。
以前分析都沒有認真地用文件記下來,當真正的用文件記下來的時候,才發現很多東西都不太會表述,成了“茶壺裡面的湯圓,倒不出”。所以大家能夠多練習一下,將自己所看所想得到用文件描述下來,對自己日後的分析描述能力一定會有所提高。
畢竟不是專家級人物,分析難免有所紕漏和不當之處,請大家指出,謝謝!to:我的是chinascutface@.com">我的email是chinascutface@hotmail.com。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-958621/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Beans Development Kit (BDK)分析(四) (轉)Beandev
- Beans Development Kit (BDK)分析(五) (轉)Beandev
- 【java學習】JDK(Java Development Kit)JavaJDKdev
- Houdini Development Kit ( HDK ) VC小記dev
- ADRV9371 + Arria 10 SoC Development Kitdev
- Game Development Methodology for Small Development Teams (轉)GAMdev
- 深入分析 Fiesta Exploit Kit
- 從零學腳手架(六)---production和development拆分dev
- DX: Full Screen GUI Development 2 (轉)GUIdev
- Development log - red & black (1) (轉)dev
- Development log - red & black (2) (轉)dev
- (一)spring beansSpringBean
- 安迪·葛洛夫的六力分析模型(轉載)模型
- go-kit 微服務 日誌分析管理 (ELK + Filebeat)Go微服務
- LRAT-2000-KIT特殊故障的分析方法
- game development -- flowGAMdev
- Giraph原始碼分析(六)——Edge 分析原始碼
- Spring自動裝配BeansSpringBean
- 玩轉iOS開發:iOS 10 新特性《Siri Kit》iOS
- macOS Development - Auto LayoutMacdev
- office365 developmentdev
- What is strategy development process?dev
- BW: 80% of development costsdev
- Web Development Job in 4Webdev
- Apache JMeter 5.4.1 Build DevelopmentApacheJMeterUIdev
- STM32 Hardware Developmentdev
- PL/SQL development skill testSQLdev
- Java Development Without SpringJavadevSpring
- Flutter框架分析(六)-- 佈局Flutter框架
- php核心分析(六)-opcodePHP
- 探究 Text Kit 和 Core Text 的前世今生 (Text Kit 篇)
- 上新啦!KIT!
- 上新啦KIT
- 【Spring】Spring原始碼轉Eclipse讀取形式 :spring-beans-groovy ProblemSpring原始碼EclipseBean
- org.springframework.beans.factory.BeanNotOfRequiredTypeException must be of typeSpringFrameworkBeanUIException
- org.springframework.beans簡單解讀SpringFrameworkBean
- SAP Certified Development Consultant SAP NetWeaver 2004 - Application Development Focus ABAPdevAPP
- webpack 開發模式管理 DevelopmentWeb模式dev