物件導向的設計原則:高內聚、低耦合
軟體重構:小步快跑------抽取的思想(抽取函式、抽取類、抽取介面);對擴充套件開放、對修改封閉
設計模式分類如下:
1、建立型模式--factory模式
factory模式不僅僅是提供了建立物件的介面,而且延遲了子類的例項化。
class product
;product::product(){}
product::~product(){}
class concreteproduct :public product
;concreteproduct::concreteproduct()
concreteproduct::~concreteproduct(){}
class factory
;factory::factory(){}
factory::~factory(){}
class concretefactory :public factory
;concretefactory::concretefactory()
product* concretefactory::createproduct(int n)
}concretefactory::~concretefactory(){}
int main()
這樣的好處:
1、抽象了product和factory,將類的實現放到了子類中
2、大大方便了**的擴充套件和重構,當有新的product要新增進來時,只需要實現新的newproduct類,新的newfactory類,不需要改變某些類中的**,只需要在main函式中呼叫相應的介面即可。滿足對擴充套件開放、對修改封閉的原則。
23種設計模式之Factory模式(一)
最近寫大 實在無聊,所以決定每天閒暇時學習一種設計模式,主要參考 設計模式 可復用物件導向的軟體基礎一書 設計模式精解 gof23種設計模式解析附c 實現原始碼,還有的部落格 很多圖是來自這裡 還是一樣,邊學邊整理,方便日後檢視。簡單工廠模式 這個實現比較簡單,factory類直接就建立產品,需要指...
23種設計模式 1單例模式
1.單例模式 singleton pattern 是一種簡單的設計模式,它的定義如下 為了確保某乙個類只有乙個例項,而且自行例項化並向整個系統提供這個例項。2.通用 如下 class singleton 通過該方法獲得例項化物件 public static songleton getinstance...
23種設計模式 (1)單例模式
定義確保某個類只有乙個例項,而且自行例項化並向整個系統提供這個例項 單例模式優點 單例模式的缺點 單例模式為什不能增加介面?因為對介面對單例模式沒有任何意義,它要求 自行例項化 並提供單一例項,介面或者抽象類不可能被例項化單例的使用場景 在乙個系統中,要求類有且僅有乙個物件,如果出現多個物件會有 不...