單例模式(Singleton) 在有些系統(tǒng)中,為了節(jié)省內(nèi)存資源、保證數(shù)據(jù)內(nèi)容的一致性,對(duì)某些類要求只能創(chuàng)建一個(gè)實(shí)例,這就是所謂的單例模式。 單例...
代理模式(Proxy Pattern) 在有些情況下,一個(gè)客戶不能或者不想直接訪問另一個(gè)對(duì)象,這時(shí)需要找一個(gè)中介幫忙完成某項(xiàng)任務(wù),這個(gè)中介就是代...
模板方法(Template Method) 在面向?qū)ο蟪绦蛟O(shè)計(jì)過程中,程序員常常會(huì)遇到這種情況:設(shè)計(jì)一個(gè)系統(tǒng)時(shí)知道了算法所需的關(guān)鍵步驟,而且確定...
責(zé)任鏈模式(Chain of Responsibility) 在現(xiàn)實(shí)生活中,常常會(huì)出現(xiàn)這樣的事例:一個(gè)請(qǐng)求有多個(gè)對(duì)象可以處理,但每個(gè)對(duì)象的處理?xiàng)l...
迭代器模式(Iterator) 在現(xiàn)實(shí)生活以及程序設(shè)計(jì)中,經(jīng)常要訪問一個(gè)聚合對(duì)象中的各個(gè)元素,如“數(shù)據(jù)結(jié)構(gòu)”中的鏈表遍歷,通常的做法是將鏈表的創(chuàng)...
備忘錄模式(Memento) 每個(gè)人都有犯錯(cuò)誤的時(shí)候,都希望有種“后悔藥”能彌補(bǔ)自己的過失,讓自己重新開始,但現(xiàn)實(shí)是殘酷的。在計(jì)算機(jī)應(yīng)用中,客戶...
解釋器模式(Interpreter) 在軟件開發(fā)中,會(huì)遇到有些問題多次重復(fù)出現(xiàn),而且有一定的相似性和規(guī)律性。如果將它們歸納成一種簡單的語言,那么...
享元模式(Flyweight) 在面向?qū)ο蟪绦蛟O(shè)計(jì)過程中,有時(shí)會(huì)面臨要?jiǎng)?chuàng)建大量相同或相似對(duì)象實(shí)例的問題。創(chuàng)建那么多的對(duì)象將會(huì)耗費(fèi)很多的系統(tǒng)資源,...
外觀模式(Facade) 在現(xiàn)實(shí)生活中,常常存在辦事較復(fù)雜的例子,如辦房產(chǎn)證或注冊(cè)一家公司,有時(shí)要同多個(gè)部門聯(lián)系,這時(shí)要是有一個(gè)綜合部門能解決一...