You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

8 lines
730 B

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

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