1. 程式人生 > >設計模式學習總結二

設計模式學習總結二

原型模式:用原來例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。

案例二:

 

原型模式涉及深淺複製

深複製和淺複製:深複製和淺複製最根本的區別在於是否真正獲取了一個物件的複製實體,而不是引用。

淺複製 —-只是拷貝了基本型別的資料,而引用型別資料,複製後也是會發生引用,我們把這種拷貝叫做(淺複製)淺拷貝,換句話說,淺複製僅僅是指向被複制的記憶體地址,如果原地址中物件被改變了,那麼淺複製出來的物件也會相應改變。

深複製 —-在計算機中開闢了一塊新的記憶體地址用於存放複製的物件。

模板方法模式

定義一個操作中的演算法骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個演算法的結構即可重定義該演算法的某些特定步驟。

案例二學生試卷答題:

外觀模式:為子系統中的一組介面提供一個一致的介面,此模式定義了一個高層介面,這個介面使得這一子系統更加容易使用。

建造者模式:將一個複雜物件的構建與它的表示分離,使得同樣的構建過程可以建立不同的表示。

觀察者模式:定義了一種一對多的依賴關係,讓多個觀察者物件同時監聽某一個主題物件。這個主題物件在狀態發生變化時,會通知所有觀察者物件,使他們能夠自動更新自己。

案例二(運用委託事件):

抽象工廠模式:提供一個建立一系列相關或者相互依賴物件的介面,而無需指定他們具體的類。

案例二: