設計模式 工廠模式

2021-08-20 10:09:50 字數 2170 閱讀 6341

類中不存在無參構造方法,但存在靜態工廠方法!

以『calendar』為例,這個類存在'public static calendar getinstance()『方法,這個'getinstance()'方法既是static的,又是返回'calendar'物件的,所以這個方法就是「靜態工廠方法」!

類中不存在無參構造方法,也沒有靜態工廠方法,但是存在例項工廠方法!

所謂的「例項工廠方法」,指另乙個類中有工廠方法,可以獲取目標型別的物件,即x類中有工廠方法(非靜態的),可以用於獲取y類的物件!

工廠模式:

model + view + controller

###如何遍歷各種不同型別的集合

具體的遍歷方法看下面圖中的測試案例!

如果遍歷list,可以使用普通的for迴圈或其他迴圈語法,也可以使用增強for迴圈,還可以使用迭代器。

如果遍歷set。可以使用增強for迴圈,也可以使用迭代器;

如果遍歷map,必須先呼叫map集合物件的keyset()方法,該方法可以獲取當前map集合物件中所有的key,獲取到的型別是乙個set,然後遍歷set集合,在遍歷過程中,通過map集合物件的get()方法,基於key獲取value

### 注入一般的非基本型的值

基本型別的值:string與八大基本型別

非基本型別的值: 上述範圍之外的值

注入基本值可以通過value屬性直接將值寫出來,對於寫不出來的非基本型別,必須通過ref屬性來注入,表示引用另外乙個bean,而ref屬性的值就是被引用的的id值。

下面將測試list與set還有map型別注入:

### 注入list型別屬性的值

### 注入set型別屬性的值

### 注入map型別屬性的值

###【重要】注入properties型別屬性的值 -- 一般應用於db.properties,寫jdbc連線

【了解】關於注入值的補充

為list注入值的做法,也適用於對陣列型別的資料注入值。

public class sample

}alex

billy

甚至,在配置xml時,``和``可以隨意挑選使用,即為`list`型別的資料注入值時,

既可以使用``節點,也可以使用``節點,反之,為陣列型別的資料注入值時,也是一樣。

還可以為字串型別的資料注入空字串值(`""`),在注入時:

還可以為引用資料型別的資料注入null值,注入時:

最後,如果注入的值需要顯式的確定資料型別,需要:

設計模式 工廠模式 抽象工廠模式

建立物件時不會對客戶暴露建立邏輯,並且通過使用乙個共同的介面來指向建立的物件。sept1 建立乙個公共介面,將要對外開放的方法在這裡定義。sept2 建立實現介面的類,用即實現對外開放的類的方法 sept3 建立工廠,提供乙個get方法,這個方法提供返回實現類的物件 建立選擇 sept4 使用,建立...

設計模式 工廠設計模式

用於建立物件的介面,交給子類去實現 我們舉乙個生產nokia的例子 public abstract class nokiaphone先試定義了乙個抽象類,抽象出方法poweronphone 模擬手機開機的動作 public class nokia5200 extends nokiaphone pub...

設計模式 工廠設計模式

工廠模式分為工廠方法模式和抽象工廠模式 工廠方法模式分為 普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。多個工廠方法模式,是對普通工廠方法模式的改進,在普通工廠方法模式中,如果傳遞的字串出錯,則不能正確建立物件,而多個工廠方法模式是提供多個工廠方法,分別建立物件。靜態工廠...