Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 我需要一个设计模式,用于在对象中存储对仅在需要时创建的其他对象的引用_Java_Design Patterns - Fatal编程技术网

Java 我需要一个设计模式,用于在对象中存储对仅在需要时创建的其他对象的引用

Java 我需要一个设计模式,用于在对象中存储对仅在需要时创建的其他对象的引用,java,design-patterns,Java,Design Patterns,一个很好的比喻是房子。那所房子有房间,所有这些房间都有人和物品。首先,我只需要知道房子的某些属性,但当我进入一个房间时,我需要知道这些房间的内容。在不在内存中创建一堆对象的情况下,存储房屋和房间以及人和对象之间的引用的最佳方法是什么? 这在例如Hibernate/JPA中得到了广泛的实现和支持。我相信您正在寻找延迟加载模式。请注意,这可能会导致多线程程序中出现争用情况。 public SomeObject getSomeObject() { if (someObject == null)

一个很好的比喻是房子。那所房子有房间,所有这些房间都有人和物品。首先,我只需要知道房子的某些属性,但当我进入一个房间时,我需要知道这些房间的内容。在不在内存中创建一堆对象的情况下,存储房屋和房间以及人和对象之间的引用的最佳方法是什么?


这在例如Hibernate/JPA中得到了广泛的实现和支持。

我相信您正在寻找延迟加载模式。请注意,这可能会导致多线程程序中出现争用情况。
public SomeObject getSomeObject() {
    if (someObject == null) {
        someObject = loadSomeObject(); // A private method.
    }

    return someObject;
}