工廠方法模式:
工廠模式方法:定義乙個用於建立物件的介面,讓子類決定例項化哪乙個類,工廠方法
使乙個類的例項化延遲到其他子類。
工廠方法模式實現時,客戶端需要決定例項化哪乙個工廠來實現運算類,選擇判斷的問題還是存在的,也就是說,工廠方法把簡單的工廠的內部邏輯判斷移到了客戶端**來實現進行,你想要加功能,本來是改工廠類的,而現在時修改的客戶端的。
原型模式:用原型例項指定建立物件的種類,並且通過拷貝這些原型建立的物件。
因為轉殖很常用,所以在.net在system命名空間中提供了iconable介面,其方法為clone()這樣我們只需要實現這個介面就可以完成原型模式。
一般在初始化的資訊不發生變化的情況下,轉殖是最好的辦法。這樣既隱藏了物件建立的細節,又對效能進行了大大的提公升。
這樣做等於不用重新初始化物件,而是動態的獲得物件執行時的狀態。
原型工廠模式
顧名思義就是原型模式和工廠模式的結合。在gof的書裡面,抽象工廠那節中對這個有描述,不過內容很少,所以看的時候也沒注意到。說個實際的問題 系統需要向使用者傳送簡訊,但是根據場景的不同,傳送的簡訊格式也不同,比如重置密碼和傳送臨時驗證碼的簡訊格式就有區別,而之前的開發人員使用了策略模式,每個內容都有乙...
PHP設計模式之工廠模式和原型模式
這兩個模式都是針對物件建立和復用的,只是一種設計風格,在建立物件的,隨時都可以改進現有的 畢竟老 很多地方不容易更改了,所以這兩個模式一般適合新加進去,比較容易建立物件或者使用新物件 再者就是。算了 我想說的就是js,把原型做的爐火純青,我一直很痴迷,很多原型都深深的嵌入到語言的核心。推薦那本書 你...
簡單工廠模式 工廠方法模式和抽象工廠模式
第一.簡單工廠模式 有三種元件,乙個介面,n個實現類,乙個工廠類。在建立物件的時候,利用簡單工廠模式,可以根據傳參的不同,建立出不同的實現類物件。實現步驟 1.建立介面 2.建立n個實現類 3.建立工廠類,裡面有返回值型別為介面的方法 見如下 1.建立介面 inte ce sender 2.建立介面...