五大建立型設計模式

2021-04-27 17:14:04 字數 614 閱讀 9187

五大建立型設計模式的注意事項:

1.單例(singleton)

建構函式private或protected,防止外部例項化;

雙層鎖定例項化,防止多執行緒的多個例項化;

類要sealed,防止被繼承後派生新增例項;

餓漢、懶漢兩種型別,各有千秋;

2.原型(prototype)

clone    淺拷貝,複製值型別,不複製引用型別;

copy    深拷貝,值型別與引用型別都做複製;

在.net中實現icloneable介面,用this.memberwiseclone()實現淺拷貝;

3.建造者(builder)

各細節流程不同,但裝配方式一致時,可以使用建造者模式以規範流程;

4.工廠方法(factorymethod)

工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。

工廠方法使用新增新功能時,只要修改客戶端**。

5.抽象工廠(abstractfactory)

設計模式五大原則

1 單一職責 不論是在設計類,介面還是方法,單一職責都會處處體現,單一職責的定義 我們把職責定義為系統變化的原因。所有在定 義類,介面,方法的時候。定義完以後再去想一想是不能多於乙個的動機去改變這個類,介面,方法。如果答案是肯定的,說明定義的類,介面,方法則多於乙個職 責。故違背單一職責,遇到這種情...

設計模式五大原則

1 單一職責原則 不論是在設計類,介面還是方法,單一職責都會處處體現,單一職責的定義 我們把職責定義為系統變化的原因。所有在定義類,介面,方法的時候。定義完以後再去想一想是不能多於乙個的動機去改變這個類,介面,方法。如果答案是肯定的,說明定義的類,介面,方法則多於乙個職 責。故違背單一職責,遇到這種...

五大設計原則

一 單一職責 讓乙個類只負責乙個任務,類中的方法只做一件事 二開閉原則 對類的內部修改是關閉的,而對外的擴充套件是開放的。三黎克特制替換原則 1 子類可以覆蓋父類的抽象方法,但不能覆蓋非抽象方法。2 如果需要覆蓋父類的非抽象方法,引數的型別必須要比父類的寬鬆,返回值型別必須要比父類嚴格。3 子類可以...