享元模式定義
運(yùn)用共享技術(shù)有效的支持大量細(xì)粒度對(duì)象的復(fù)用,系統(tǒng)只使用少量的對(duì)象均蜜,而這些對(duì)象都很相似李剖,狀態(tài)變化很小,可以實(shí)現(xiàn)對(duì)象的多次復(fù)用囤耳。由于享元模式要求能夠共享對(duì)象必須是細(xì)粒度對(duì)象篙顺,因此他又稱為輕量級(jí)模式,是一種結(jié)構(gòu)性模式充择。
享元模式結(jié)構(gòu)圖
image.png
內(nèi)部狀態(tài)和外部狀體
內(nèi)部狀態(tài)是純粹在享元對(duì)象內(nèi)部并且不會(huì)隨環(huán)境改變而改變的狀態(tài)德玫,內(nèi)部狀態(tài)可以共享,
外部狀態(tài)是隨著環(huán)境變化而變化的椎麦,不可以共享狀態(tài)宰僧,享元對(duì)象的外部狀態(tài)通常有客戶端保存,并在享元對(duì)象別創(chuàng)建之后观挎,需要使用的時(shí)候琴儿,在傳入到享元對(duì)象內(nèi)部。
單純享元模式和復(fù)合享元模式
單純享元模式中所有具體享元類都是可以共享的嘁捷。不存在非共享具體享元類造成。
復(fù)合享元模式,將一些單純享元對(duì)象使用組合模式加以組合雄嚣,還可以形成復(fù)合享元對(duì)象晒屎,這樣的復(fù)合享元對(duì)象本身不能共享,但是他們可以分解成為單純享元對(duì)象现诀,而后者則可以共享夷磕。
享元模式優(yōu)缺點(diǎn)
享元模式適用場(chǎng)景