寫這博客的目的是將借來的書上看到的好東西摘抄下來,當做筆記。
看的是清華出版社的java程序設計高級教程(第三版),國外計算機科學經典教材系列。
第一章 高級java編程介紹
- java不僅支持網絡,而且其設計目的是與internet和其他基於TCP/IP的網絡一起使用。
- J2EE的設計支持特定應用程序體系結構。極力鼓勵具有3層或多層的分層體系結構。——客戶層→容器→持久層
- 理解面向對象技術和掌握支持面向對象編程的java語言構造 以及識別普通問題,並採用適當的設計模式解決他們 是成功編程java的3種重要技術。
- 模型-視圖-控制器設計模式(MVC)
- 視圖 ↓ 向用戶顯示,不瞭解模型,基本不瞭解控制器
- 控制器 ↓ 用於輸入和響應 對於模型與視圖都瞭解一點
- 模型 不瞭解視圖,基本不知道控制器
- 這樣的特徵是模型與視圖完全分離,對於用戶界面或者模型工作的修改互不影響。而控制器層應相應的修改。
- 對象創建模式
單一設計模式:保證只創建一個實例。
public class Dispatcher{
private Dispatcher dispatcher = null;
private Dispatcher () {
//init op
}
public dispatcher singleton (0 {
if (dispatcher == null) {
dispatcher = new Dispatcher () ;
}
return dispatcher ;
}
// other mothers
}
工廠設計模式: 當不知道使用哪一個子類,或者沒有用於初始化對象所需的全部信息時,可以創建工廠類作爲目標類的
輔助類,返回其他某個類型對象的類,實例化和初始化這些對象。
public interface PolicyFactory{
Policy createPolicy();
}
public class PolicyBuilder implemente PolicyFactory {
Policy createPolicy () {
Policy p = null;
if ( /*...*/) {
p = new Type1Policy();
}else if (/*...*/) {
p = new Type2Policy ();
}else if ...
...
return p;
}
}
結構化模式: 適配器設計模式
facade設計模式:當使用無法修改或拓展的一組類而又發現他們的協議不適合是,可以在原類和期望的類
創建一組facade類,facade類執行任何需要的映射,並調用原始類的方法。可提供對現有代碼的簡化
、限制或者安全的訪問。可以使用facade爲全異的API提供通用的協議。