享元模式:使用同乙個物件,有一些物件不想重複建立,想使用乙個
與單例的區別:建立物件是自身控制,還是交由乙個工廠控制
string字串的記憶體分配使用了享元模式
字元父類
public abstract class baseword
l類
public class l : baseword
public override string getword()
}
o類
public class o : baseword
public override string getword()
}
工廠**
public class xiangyuan}}
return dicall[lolw.tostring()];
case lolwords.o:
if (!dicall.containskey(lolw.tostring()))}}
return dicall[lolw.tostring()];
default:
return null;}}
}public enum lolwords
呼叫
//輸出lolo
baseword l = xiangyuan.getwords(lolwords.l);
baseword o = xiangyuan.getwords(lolwords.o);
baseword l1 = xiangyuan.getwords(lolwords.l);
baseword o1 = xiangyuan.getwords(lolwords.o);
console.writeline(",,,",l.getword(),o.getword(),l1.getword(),o1.getword());
結果:
只建立了一次
設計模式 結構型模式 享元模式
圍棋棋子類 抽象享元類 abstract class igochessman 黑色棋子類 具體享元類 class blackigochessman extends igochessman 白色棋子類 具體享元類 class whiteigochessman extends igochessman 圍...
設計模式 結構型模式 享元模式
運用共享技術來有效地支援大量細粒度物件的復用。它通過共享已經存在的物件來大幅度減少需要建立的物件數量 避免大量相似類的開銷,從而提高系統的資源利用率。本質是快取共享物件,降低記憶體消耗。優點相同物件只要儲存乙份,以此降低系統中物件的數量,從而降低系統中細粒度物件給記憶體帶來的壓力。缺點為了使物件可以...
結構型模式 享元模式
七大結構型模式之六 享元模式。姓名 享元模式 英文名 flyweight pattern 價值觀 共享富貴 個人介紹 use sharing to support large numbers of fine grained objects efficiently.使用共享物件可有效地支援大量的細粒度...