這兩個模式都是針對物件建立和復用的,只是一種設計風格,在建立物件的,隨時都可以改進現有的**。畢竟老**很多地方不容易更改了,所以這兩個模式一般適合新加進去,比較容易建立物件或者使用新物件
再者就是。。。算了
我想說的就是js,把原型做的爐火純青,我一直很痴迷,很多原型都深深的嵌入到語言的核心。
推薦那本書《你不知道的js>
上**1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
<?php
inte***ce
prototype
class
concreteprototype
implements
prototype
public
function
setname(
$name
)
public
function
shallowcopy()
public
function
deepcopy()
public
function
getname()
}
//上面的原型基本上就寫完了
class
demo
class
useprototype
public
function
deep()
}
//呼叫
$up
=
new
useprototype;
$up
->shallow();
echo
''
;
$up
->deep();
//原型模式的主要思想是基於現有的物件轉殖乙個新的物件出來,一般是用物件內部提供的轉殖方法,通過該方法返回乙個物件的副本,這種建立物件的方式,相比我們之前說的幾類建立型模式還是有區別的,之前的講述的工廠方法模式與抽象工廠都是通過工廠封裝具體的 new 操作的過程,返回乙個新的物件,有的時候我們通過這樣的建立工廠建立物件不值得,特別是以下的幾個場景,可能使用原型模式更簡單、效率更高:
//如果說我們的物件型別不是剛開始就能確定,而是在執行時確定的話,那麼我們通過這個型別的物件轉殖出乙個新的型別更容易。
//有的時候我們可能在實際的專案中需要乙個物件在某個狀態下的副本,這個前提很重要,這點怎麼理解呢,例如有的時候我們需要對比乙個物件經過處理後的狀態和處理前的狀態是否發生過改變,可能我們就需要在執行某段處理之前,轉殖這個物件此時狀態的副本,然後等執行後的狀態進行相應的對比,這樣的應用在專案中也是經常會出現的。
//當我們處理的物件比較簡單,並且物件之間的區別很小,可能只是很固定的幾個屬性不同的時候,使用原型模式更合適。
?>
願法界眾生,皆得安樂
php設計模式之工廠模式
一直都對php的設計模式有著一種特殊的 情結 從最開始接觸到的單例模式,到經典的mvc設計模式,每次的接觸都讓我為之驚奇。買了本php設計模式在家看,發現,都是專有名詞,再加上太專業的術語,讓我沒有看下去的勇氣。無意之中逛論壇,發現乙個部落格,關於php的五種設計模式,其中就有工廠模式。看完後,第一...
php設計模式之工廠模式
工廠模式的最大優點在於建立物件上面,就是把建立物件的過程封裝起來,這樣隨時可以產生乙個新的物件。減少 進行複製粘帖,耦合關係重,牽一發動其他部分 通俗的說,以前建立乙個物件要使用new 現在把這個過程封裝起來了。假設不使用工廠模式 那麼很多地方呼叫類a 就會這樣子建立乙個例項 new a 假設某天需...
php模式設計之 工廠模式
那麼何為工廠模式?從名字來看,似乎看不出什麼端倪。工廠模式,和生產有關?還是和生產流程 子了,所謂工廠模式還真和生產有關。生產什麼呢?生產出來的是乙個例項物件。通過什麼裝置生產?通過乙個工廠類生產。怎麼生產呢?工廠類呼叫自身靜態方法 來生產物件例項。工廠模式有乙個關鍵的構造,根據一般原則命名為fac...