/**
* 棋子
*/
function Chess(color)
{
//顏色
this.color = color;
/**
* 初始
*/
function init()
{
console.log('創建'+color+'棋子')
}
//坐標
this.point = function(x,y)
{
console.log(x+':'+y)
}
}
/**
* 對象池
*/
function Factory(){}
Factory.objects = {};
Factory.get = function(color)
{
var obj = Factory.objects[color];
if(obj == null)
{
obj = new Chess(color);
Factory.objects[color] = obj;
}
return obj;
}
/**
* 使用享元模式
*/
var c1 = Factory.get('紅色')
var c2 = Factory.get('紅色')
var c3 = Factory.get('黑色')
console.log(c1 == c2) //輸出:true
console.log(Factory.objects) //輸出:Object {紅色: Chess, 黑色: Chess}
最后編輯于 :
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。