設計模式 單例模式 建造者模式 原型模式

2021-08-22 08:49:40 字數 1057 閱讀 4087

通常我們讓乙個全域性變數使得乙個物件被訪問,但它不能防止你例項化多個物件。乙個最好的辦法就是,讓類自身負責八寸他的唯一例項。這個類可以保證沒有其他例項可以被建立,並且它可以提供乙個訪問該例項的方法。

單例模式(singletion):保證乙個類僅有乙個例項,並提供乙個訪問它的全域性訪問點。

![這裡寫描述]( **優點:** 它會阻止其他物件例項化其自己的單例物件的副本,從而確保所有物件都訪問唯一例項。 可以靈活的更改例項化過程

缺點:

不能解決刪除單個物件的問題

適用環境:

例子:乙個系統中只能有乙個視窗管理器或者檔案系統,若是存在多個,再使用的時候就意味著會彈出多個,這樣對記憶體空間也是一種浪費。

看到這個模式的時候,感覺就是自己是乙個工程師,可以建立很多意想不到的產品。它也稱為:生成器模式。可以將產品的內部表象與產品的生成過程分割開來,從而可以使乙個建造過程具有不同的內部表象的產品物件。

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

![這裡寫描述](

適用環境:

例子:在這個智慧型的世界,乙個智慧型的工廠裡面,每個地方都有自己應該做的事情人就是指揮者,將機器調整到要做出的產品的樣子,之後只要不用思考要怎麼弄,只要按照要求做好就可啦。

其實就是從乙個物件再建立另外乙個可制訂的物件,而且不需要知道任何建立的細節。

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

![這裡寫描述]( **適用環境:**

深複製與淺複製

例子:深複製感覺有點像轉殖羊的感覺,複製出來是乙個新的個體,而淺複製則是給這只羊改了名字,儘管名字不一樣了但是還是這只羊。

java設計模式(二)單例模式 建造者模式

三 單例模式 單例模式應該是最常見的設計模式,作用是保證在jvm中,該物件僅僅有乙個例項存在。長處 1 降低某些建立比較頻繁的或者比較大型的物件的系統開銷。2 省去了new操作符,減少系統記憶體使用頻率,減輕gc壓力。3 保證核心 的唯一性,比方交易引擎。單例模式看似是最簡單的設計模式。public...

設計模式 建造者 原型模式

建造者模式 使用多個簡單的物件一步一步構建成乙個複雜的物件。我們假設乙個快餐店的商業案例,其中,乙個典型的 可以是乙個漢堡 burger 和一杯冷飲 cold drink 漢堡 burger 可以是素食漢堡 veg burger 或雞肉漢堡 chicken burger 它們是包在紙盒中。冷飲 co...

設計模式系列 原型 建造者

原型模式與建造者模式都屬於建立型的模式,也是比較常見的模式。原型模式常常用於複雜物件的複製,常常將需要用到原型模式的類設計成 cloneable,這種方式實現的是淺轉殖。如果需要實現深轉殖,則需要將其成員對應的類也設計成 cloneable,並進行遞迴,這種方式比較繁瑣,通常我們使用一種簡便的方式 ...