java,单例泛化

Ago*_*noX 3 singleton design-patterns

鉴于:

File f = new File("test.txt");
Run Code Online (Sandbox Code Playgroud)

这样,每次我创建一个文件"text.txt"的引用,我得到一个不同的File对象.

我需要,如果文件是相同的,那么我得到相同的File对象.
(准确而且与示例一致,它是规范路径必须相同,但由于这只是一个示例,我不想深入了解文件标识)
它可以很容易地实现一个静态getInstance,用于测试以前创建的File实例,存储在Collection中并返回存储的实例(如果存在).

这似乎是一个"更通用的单例模式",其中singleton表示每个应用程序一个实例,而这里我们有一个实例,每个不同的标识(在本例中,每个文件路径只有一个File对象).

问题是,由于单身人士已被充分记录(并且可能过度记录),这种模式是"描述"还是标准化了吗?

(这正是在某些jvm实现中为整数<128而出于优化目的而不依赖的情况).

soc*_*a23 5

它似乎被称为Multiton,或单身人士注册表.我不认为它像sigleton一样有记录,但是,正如你所注意到的,它实际上是一个单身人士的更通用版本,并且具有相同的优点和缺点.