原创 Java設計模式--迭代器模式

迭代器模式【Iterator Pattern 】 迭代器可以解決一些遍歷的問題。那我們以老總查看公司項目信息爲例。先看下最初的類圖。 上面的類圖可以完成老總的需要,下面使用迭代器的方式來進行。看下類圖: IProject 可

原创 I/O編程強化

1.流及其意義 流的概念使得文件、網絡、內存等設備可以被統一處理 2.字節輸入輸出流 (1)字節輸入流基類InputStream 常用讀取數據方法 int read():從輸入流中讀一個字節,形成一個0~255之間的

原创 集合對象與常用數據結構性能分析

1.數組的回顧與排序 基本類型的數組 對象數組 java.util.Arrays Comparable接口 數組的不足之處: 容量不能自動調整 查找效率低 可採用Arrays.binarySearch方法,但必須實現

原创 Java設計模式--訪問者模式

訪問者模式【Visitor Pattern 】 以打印公司員工的信息報表爲例。下面先看下類圖。 使用了一個模版方法模式,把所要的信息都打印出來。這樣子寫出來的代碼就不太符合公司不同管理層的需要,不能滿足各自的需求。 每個普通員工

原创 面向對象設計強化

1.面向對象的設計原則 單一職責原則、開閉原則、里氏代換原則 、依賴倒置原則、接口隔離原則、合成/聚合複用原則、迪米特法則 (1)單一職責原則(SRP) 一個類,只有一個引起它變化的原因 如果一個類有一個以上的職責,這

原创 Java設計模式--模板方法模式

模板方法模式 先看一下通用的類圖: 其中 TemplateMethod 就是模板方法,operation1 和 operation2 就是基本方法,模板方法是通過彙總或排序基本方法而產生的結果集。 這樣看可能會很枯燥,來個具

原创 Java設計模式--建造者模式

建造者模式【Builder Pattern 】 在模板方法模式時用到了公司生產馬車的例子。這裏繼續,客戶有了新的要求,就是能夠控制基本方法的執行順序。 先看一下類圖: 定義一個車輛模型的抽象類,所有的車輛模型都繼承這個類 p

原创 JAVA設計模式--適配器模式

適配器模式 適配器可以藉助生活的例子理解:你筆記本上的那個拖在外面的黑盒子就是個適配器,一般你在中國能用,在日本也能用,雖然兩個國家的的電源電壓不同,中國是 220V,日本是 110V,但是這個適配器能夠把這些不同的電壓轉換爲你

原创 Java設計模式--簡單工廠模式與抽象工廠模式

簡單工廠模式 以女媧造人爲例。下面是類圖。 步驟: 1、先定義接口人 2、不同的人種實現人這個接口,並實現接口中的方法 3、定義一個生產人的工廠: Human createHuman(Class c) 傳入要生產的人種

原创 Java設計模式--門面模式

門面模式 該模式以寫信送信爲例。最初的類圖如下: 剛開始的情況是要依次序的執行LetterProcess這四個步驟,那麼如果有一個步驟不能完成,那麼就不算完成這個過程,最後的代碼如下:完全體現不出高內聚的設計要求。 publ

原创 Java設計模式--責任鏈模式

責任鏈模式【Chain of Responsibility Pattern 】 以古代婦女三從(未嫁從父、既嫁從夫、夫死從子)爲例。先看下剛開始的類圖: 古代悲哀女性: public interface IWomen {

原创 XML解析

三種常見的解析方式: 1、JAXP DOM 解析 2、JAXP SAX 解析 3、XML PULL 進行 STAX 解析 XML 技術主要企業應用 1、存儲和傳輸數據 2、作爲框架的配置文件 使用xml 存儲和傳輸數據

原创 Java設計模式--裝飾模式

裝飾模式【Decorator Pattern】 裝飾模式顧名思義就是將程序裝飾進行裝飾完成我們所想要的效果。山寨手機需要裝飾,我們的程序有時候也需要進行裝飾。 下面以向家長彙報分數讓家長簽字爲例。先看下最初的類圖。 倘若這樣

原创 多線程編程和網絡編程入門

1.進程和線程的區別 (1)進程: 資源管理的最小單位 獨立的內存空間 包含一個或多個線程 (2)線程: 程序執行的最小單位 擁有獨立的棧空間 (3)進程類(Process) (4)線程體(Java的線程是通過j

原创 Java設計模式--橋樑模式

橋樑模式【Bridge Pattern 】 以公司生產產品爲例子。一個房地產公司,一個山寨公司,山寨公司什麼好賺就生產什麼。我們先進行這樣的設計。看類圖: 公司Crop先定義如下: public abstract class