|
|
@ -0,0 +1,8 @@
|
|
|
|
|
|
|
|
享元模式是一种结构型设计模式,在享元模式中,对象被设计为可共享的,可以被多个上下文使用,而不必在每个上下文中都创建新的对象。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
假如我们有大量不同的词频分析需求,有时需要词频前10的单词,有时需要词频前20的单词,那就需要创建多个词频统计器,每个词频统计器都独立创建并存储其内部状态,
|
|
|
|
|
|
|
|
那么系统的内存占用可能会很大,在这种情况下,享元模式共享相同类型的词频统计器对象,每种类型的词频统计器只需创建一个共享实例,然后通过设置不同的参数个性化
|
|
|
|
|
|
|
|
每个对象,通过共享相同的内部状态,降低了对象的创建和内存占用成本。
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
例如,我需要对3个文件获取词频前十的单词,对另外3个文件获取词频前二十的单词,那么我只需要创建2个词频统计器对象,每个对象都存储相同的内部状态(获取的词数),
|
|
|
|
|
|
|
|
一个对象获取前十的单词,一个对象获取前二十的单词,而不用创建6个对象
|