* 所有具體享元類的超類,接受並作用於外部狀態
* * @author administrator
* */
public
abstract
class
flyweight
class
concreteflyweight
extends
flyweight
}class
unsharedconcreteflyweight
extends
flyweight
}/**
* 享元工廠
* * @author administrator
* */
public
class
flyweightfactory
return flyweights.
get(key);}
}/**
* 客戶端
* * @author administrator
* */
public
class
flyweightclient
}
/**
* 享元模式(flyweight)
* 使用者類
*/public
class
user
public
user
(string name)
}/**
* 享元模式(flyweight)
* **抽象類
*/public
abstract
class
website
/** * 享元模式(flyweight)
* 具體**類
*/public
class
concretewebsite
extends
website
@override
public
void
use(user user)
}/**
* 享元模式(flyweight)
* **工廠類
*/public
class
websitefactory
return
(website) flyweights.
get(key);}
// 獲得**分類總數
public
intgetwebsitecount()
}/**
* 享元模式(flyweight)
* 客戶端main方法
*/public
class
client
}
大話設計模式 享元模式
享元模式可以避免大量非常相似類的開銷。在程式設計中,有時需要生成大量細粒度的類例項來表示資料。如果能發現這些例項除了幾個引數外基本上都是相同的,有時就能夠大幅度地減少需要例項化的類的數量。如果能把那些引數移到類例項的外面,在方法呼叫時將他們傳遞進來,就可以通過共享大幅度地減少單個例項的數目。所有具體...
《大話設計模式 享元模式》筆記
1 享元模式 flyweight 運用共享技術有效的支援大量細顆粒度的物件。2 享元模式結構圖 3 簡單 實現 flyweight類,它是所有享元類的超類或介面,通過這個介面,flyweight可以接受並作用於外部狀態。public abstract class flyweightconcretef...
大話設計模式之享元模式
享元模式 運用共享技術有效地支援大量細粒度的物件。內部狀態與外部狀態 享元模式可以避免大量非常相類似類的開銷。在程式設計中,有時需要生成大量細粒度的類例項來表示資料。如果能發現這些例項除了幾個引數外基本都是相同的,有時就能夠受大幅度地減少需要例項化數量的類的數量。如果能把那些引數轉移到類例項的外面,...