加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

设计模式 – java,单例泛化

发布时间:2020-12-15 08:46:04 所属栏目:Java 来源:网络整理
导读:鉴于: File f = new File("test.txt"); 这样,每次我创建一个文件“text.txt”的引用,我得到一个不同的File对象. 我需要,如果文件是相同的,那么我得到相同的File对象. (准确而且与示例一致,规范路径必须相同,但由于这只是一个示例,我不想深入了解文件标识)
鉴于:

File f = new File("test.txt");

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

我需要,如果文件是相同的,那么我得到相同的File对象.
(准确而且与示例一致,规范路径必须相同,但由于这只是一个示例,我不想深入了解文件标识)

使用静态getInstance可以很容易地实现它,该静态getInstance测试先前创建的File实例,存储在Collection中并返回存储的File实例(如果存在).

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

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

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

解决方法

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读