設(shè)計(jì)模式第九篇-結(jié)構(gòu)型模式【享元模式】

設(shè)計(jì)模式案例分析-github

一袭景、什么是享元模式?

? ? ?定義:? ?主要用于減少創(chuàng)建對(duì)象的數(shù)量,以減少內(nèi)存占用和提高性能碍岔。這種類型的設(shè)計(jì)模式屬于結(jié)構(gòu)型模式浴讯,它提供了減少對(duì)象數(shù)量從而改善應(yīng)用所需的對(duì)象結(jié)構(gòu)的方式朵夏。

? ?通俗理解: 就是使用已經(jīng)存在的對(duì)象蔼啦,而非再去創(chuàng)建對(duì)象,項(xiàng)目中其實(shí)我們經(jīng)常用仰猖,只是不知道其實(shí)是享元模式捏肢,比如使用HashMap緩存鍵值對(duì)奈籽,當(dāng)去創(chuàng)建對(duì)象是,去map中查找是否存在鍵鸵赫,如果存在衣屏,直接返回對(duì)象,否則創(chuàng)建新的對(duì)象辩棒,并且放到map中狼忱。當(dāng)然這只是享元模式的一個(gè)簡(jiǎn)單案例。

二一睁、角色?

? ? ?1钻弄、抽象享元對(duì)象(可無)

? ? ?2、具體享元對(duì)象—>需要共享的對(duì)象?

? ? ?3者吁、享元對(duì)象的工廠—>創(chuàng)建對(duì)象窘俺,緩存對(duì)象

三、使用場(chǎng)景?

? ? 1复凳、系統(tǒng)有大量相似對(duì)象瘤泪。 2、需要緩沖池的場(chǎng)景育八。

三对途、案例? 比如隨機(jī)創(chuàng)建獲取一個(gè)圓形。

? 角色一: 抽象享元對(duì)象: IShape

? 角色二: 具體享元對(duì)象: Circle

? 角色三: 享元工廠

public interface IShape {

void draw();

}

public class Circle implements IShape {

private int radius;

? ? public Circle(int radius) {

this.radius = radius;

? ? }

@Override

? ? public void draw() {

Log.i("zqr", "繪制了一個(gè)半徑為:" +radius);

? ? }

}

public class CircleFactory {

private static HashMaphashMap =new HashMap<>();

? ? public static IShapegetCircle(int radius) {

// 沒必要每次都創(chuàng)建,可以判斷存在半徑為radius的圓髓棋,就使用已有的

? ? ? ? Circle circle;

? ? ? ? synchronized (hashMap) {

circle =hashMap.get(radius);

? ? ? ? ? ? if (circle ==null) {

circle =new Circle(radius);

? ? ? ? ? ? ? ? hashMap.put(radius, circle);

? ? ? ? ? ? }

}

return circle;

? ? }

}

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末掀宋,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子仲锄,更是在濱河造成了極大的恐慌劲妙,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,324評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件儒喊,死亡現(xiàn)場(chǎng)離奇詭異镣奋,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)怀愧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,356評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門侨颈,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人芯义,你說我怎么就攤上這事哈垢。” “怎么了扛拨?”我有些...
    開封第一講書人閱讀 162,328評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵耘分,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我,道長(zhǎng)求泰,這世上最難降的妖魔是什么央渣? 我笑而不...
    開封第一講書人閱讀 58,147評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮渴频,結(jié)果婚禮上芽丹,老公的妹妹穿的比我還像新娘。我一直安慰自己卜朗,他們只是感情好拔第,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,160評(píng)論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著场钉,像睡著了一般楼肪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上惹悄,一...
    開封第一講書人閱讀 51,115評(píng)論 1 296
  • 那天春叫,我揣著相機(jī)與錄音,去河邊找鬼泣港。 笑死暂殖,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的当纱。 我是一名探鬼主播呛每,決...
    沈念sama閱讀 40,025評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼坡氯!你這毒婦竟也來了晨横?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,867評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤箫柳,失蹤者是張志新(化名)和其女友劉穎手形,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體悯恍,經(jīng)...
    沈念sama閱讀 45,307評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡库糠,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,528評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了涮毫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片瞬欧。...
    茶點(diǎn)故事閱讀 39,688評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖罢防,靈堂內(nèi)的尸體忽然破棺而出艘虎,到底是詐尸還是另有隱情,我是刑警寧澤咒吐,帶...
    沈念sama閱讀 35,409評(píng)論 5 343
  • 正文 年R本政府宣布野建,位于F島的核電站属划,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏贬墩。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,001評(píng)論 3 325
  • 文/蒙蒙 一妄呕、第九天 我趴在偏房一處隱蔽的房頂上張望陶舞。 院中可真熱鬧,春花似錦绪励、人聲如沸肿孵。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,657評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽停做。三九已至,卻和暖如春大莫,著一層夾襖步出監(jiān)牢的瞬間蛉腌,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,811評(píng)論 1 268
  • 我被黑心中介騙來泰國(guó)打工只厘, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留烙丛,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,685評(píng)論 2 368
  • 正文 我出身青樓羔味,卻偏偏與公主長(zhǎng)得像河咽,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子赋元,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,573評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容

  • 1 場(chǎng)景問題# 1.1 加入權(quán)限控制## 考慮這樣一個(gè)問題忘蟹,給系統(tǒng)加入權(quán)限控制,這基本上是所有的應(yīng)用系統(tǒng)都有的功能...
    七寸知架構(gòu)閱讀 2,490評(píng)論 1 57
  • 本文首發(fā)于個(gè)人博客:Lam's Blog - 談?wù)?3種設(shè)計(jì)模式在Android源碼及項(xiàng)目中的應(yīng)用搁凸,文章由Mark...
    格子林ll閱讀 4,645評(píng)論 1 105
  • 1. Java基礎(chǔ)部分 基礎(chǔ)部分的順序:基本語法媚值,類相關(guān)的語法,內(nèi)部類的語法护糖,繼承相關(guān)的語法杂腰,異常的語法,線程的語...
    子非魚_t_閱讀 31,622評(píng)論 18 399
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理椅文,服務(wù)發(fā)現(xiàn)喂很,斷路器,智...
    卡卡羅2017閱讀 134,651評(píng)論 18 139
  • 風(fēng)很輕皆刺,夢(mèng)很美少辣。 淡淡的人生,無常的心境羡蛾。 著了新衣漓帅,失了舊人。 看不到的地方,我的心忙干,你的情器予。 愁怨太深,多了矯...
    默淺閱讀 168評(píng)論 1 3