如何使用依赖注入容器延迟加载


How to lazy load with Dependency Injection Container?

我是依赖注入容器之类的新手。

我有一个User对象,我想用一个容器来构建它。在我的情况下,用户可能有大量的Comment对象与他/她相关,但我不会在每次请求时都需要它们。

以前,我会让User模型自己创建并加载Comment模型,但我意识到这是一种糟糕的做法。

如果我不想在构建用户时加载所有注释(例如,如果我想懒洋洋地加载注释),我如何使用DI和DIC实现这一点?

注意:我知道已经建立了一些解决方案,但在了解它们的工作原理之前,我不想使用它们。这是一个学习基础知识的理论问题,然后我很可能会转向一个既定的框架。

我不认为在模型中加载依赖项是依赖项注入容器的责任。这是ORM、数据访问对象或应用程序服务的工作。然后DI容器负责配置和实例化ORM、DAO或服务类。