1.原型模式(prototype),用原型例項指定建立物件的種類,並且通過拷貝這些原型建立新的物件。
2.原型模式(prototype)結構圖
3.原型模式其實就是從乙個物件再建立另外乙個可定製的物件,而且不需知道任何建立的細節。
4.對於.net而言,那個原型抽象類prototype是用不著的,因為轉殖實在是太常用了,所以.net在system命名空間中提供了icloneable介面,其中就是唯一的乙個方法clone(),這樣就只需要實現這個介面就可以完成原型模式了。
5.一般在初始化的資訊不發生變化的情況下,轉殖是最好的辦法,這既隱藏了物件建立的細節,又對效能是大大的提高。它等於是不用重新初始化物件,而是動態地獲得物件執行時的狀態。
6.「淺複製」是指被複製物件的所有變數都含有與原來的物件相同的指,而所有的對其他物件的引用都仍然指向原來的物件。「深複製」是把引用物件的變數指向複製過的新物件,而不是原有的被引用的物件。
大話設計模式 讀書筆記9策略模式
大話設計模式 讀書筆記策略模式 策略模式 定義了演算法族,分別封裝,讓他們之間可以相互替換,此模式讓演算法的變化,不會影響到使用演算法的客戶 商場收銀時,如何 使用打折還是返利,其實都是一種演算法,演算法本身是一種策略 最重要的是這些演算法是隨時都可能相互替換的,者就是變化點。封裝變化點是物件導向的...
《大話設計模式》讀書筆記 第26章 享元模式
1 享元模式 flyweight 運用共享技術有效地支援大量細粒度的物件。2 享元模式 flyweight 結構圖 3 內部狀態與外部狀態 在享元物件內部並且不會隨環境改變而改變的共享部分,可以稱為是享元物件的內部狀態,而隨環境改變而改變的 不可以共享的狀態就是外部狀態了。4 事實上,享元模式可以避...
《大話設計模式》讀書筆記 第24章 職責鏈模式
1 職責鏈模式 chain of responsibility 使多個物件都有機會處理請求,從而避免請求的傳送者和接受者之間的耦合關係。將這個物件連成一條鏈,並沿著這條鏈傳遞該請求,直到有乙個物件處理它為止。2 職責鏈模式 chain of responsibility 結構圖 3 當客戶提交乙個請...