五大建立型設計模式的注意事項:
1.單例(singleton)
建構函式private或protected,防止外部例項化;
雙層鎖定例項化,防止多執行緒的多個例項化;
類要sealed,防止被繼承後派生新增例項;
餓漢、懶漢兩種型別,各有千秋;
2.原型(prototype)
clone 淺拷貝,複製值型別,不複製引用型別;
copy 深拷貝,值型別與引用型別都做複製;
在.net中實現icloneable介面,用this.memberwiseclone()實現淺拷貝;
3.建造者(builder)
各細節流程不同,但裝配方式一致時,可以使用建造者模式以規範流程;
4.工廠方法(factorymethod)
工廠類中包含了必要的邏輯判斷,根據客戶端的選擇條件動態例項化相關的類,對於客戶端來說,去除了與具體產品的依賴。
工廠方法使用新增新功能時,只要修改客戶端**。
5.抽象工廠(abstractfactory)
設計模式五大原則
1 單一職責 不論是在設計類,介面還是方法,單一職責都會處處體現,單一職責的定義 我們把職責定義為系統變化的原因。所有在定 義類,介面,方法的時候。定義完以後再去想一想是不能多於乙個的動機去改變這個類,介面,方法。如果答案是肯定的,說明定義的類,介面,方法則多於乙個職 責。故違背單一職責,遇到這種情...
設計模式五大原則
1 單一職責原則 不論是在設計類,介面還是方法,單一職責都會處處體現,單一職責的定義 我們把職責定義為系統變化的原因。所有在定義類,介面,方法的時候。定義完以後再去想一想是不能多於乙個的動機去改變這個類,介面,方法。如果答案是肯定的,說明定義的類,介面,方法則多於乙個職 責。故違背單一職責,遇到這種...
五大設計原則
一 單一職責 讓乙個類只負責乙個任務,類中的方法只做一件事 二開閉原則 對類的內部修改是關閉的,而對外的擴充套件是開放的。三黎克特制替換原則 1 子類可以覆蓋父類的抽象方法,但不能覆蓋非抽象方法。2 如果需要覆蓋父類的非抽象方法,引數的型別必須要比父類的寬鬆,返回值型別必須要比父類嚴格。3 子類可以...