java - 创建支持实习的对象的良好模式?

标签 java oop design-patterns

我需要一个支持实习的类,例如Java的String类。创建类的实例时,如果具有相同参数的引用已存在,则应返回预先存在的引用。否则它应该返回一个新的引用。这样:

Foo a = new Foo(5);
Foo b = new Foo(5);
Foo c = new Foo(6);
a == b
a != c

1)维护预先存在的对象表是工厂的工作,还是该表通常只是类本身中的静态变量?

2) 预先存在的对象表是什么?它是每次请求实例时搜索的一组对象,还是一个其中键是对象、值是参数的 Map?

最佳答案

我想到了两件事

  1. Flyweight Pattern

  2. Guava's ComputingMap

关于java - 创建支持实习的对象的良好模式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7035659/

相关文章:

javascript - 如何在 JavaScript 中获取 "extended"原型(prototype)属性或函数? jQuery 插件中的常见做法

python - 为什么不在 Pytorch 中使用 super().__init__(Model,self)

创建自己的 API 时的 Java API 设计问题

android - 如何使用 RxJava 实现 NullObject 模式

php - 我们在哪里以及为什么在 PHP 中使用 __toString()?

java - 错误: Client does not support authentication protocol requested by server; consider upgrading MySQL client

java - Spring Data Couchbase @CreatedDate 不起作用

java - 当 SPNEGO 不能用于客户端时,我如何回退到 BASIC 或 FORM 身份验证?

javascript - 对私有(private)成员使用闭包或下划线约定

java - 使用我创建的 Exception 类捕获抛出的异常