java 享元模式(大話設計模式)

2021-09-10 04:46:49 字數 1503 閱讀 3401

* 所有具體享元類的超類,接受並作用於外部狀態

* * @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...

大話設計模式之享元模式

享元模式 運用共享技術有效地支援大量細粒度的物件。內部狀態與外部狀態 享元模式可以避免大量非常相類似類的開銷。在程式設計中,有時需要生成大量細粒度的類例項來表示資料。如果能發現這些例項除了幾個引數外基本都是相同的,有時就能夠受大幅度地減少需要例項化數量的類的數量。如果能把那些引數轉移到類例項的外面,...