如何从依赖项注入容器中仅加载此页面所需的工厂

时间:2012-09-25 01:02:57

标签: php dependency-injection factory-pattern

我正在努力升级我的Web应用程序的框架以使用依赖注入容器,我正在努力确保我做得对。该容器被设置为构建许多其他类用于获取站点资源的工厂,这些工厂可能是客户或支付历史或任何数量的东西,因此将会有相当多的工厂。

现在我可以让一个资源管理器类位于顶部,它具有每种工厂的实例,但不是每个页面都会使用每个工厂。每个页面可能只需要一个或两个工厂,因此为每个页面加载每个工厂将导致不必要的减速。所以我需要一种方法让每个页面只获得它所需的资源。

我应该:

  1. 拥有一个工厂工厂,可以在每个页面上加载延迟加载特定工厂的工厂。
  2. 在容器中注册每个页面,以便在请求页面时由应用程序的根管理它的依赖项。 (似乎容器会变得很大,因为每个页面都需要一个新的条目,这个解决方案似乎很优雅但会增加创建新页面的开发成本)
  3. 将容器传递给每个页面,以便它可以在运行时根据需要加载所需的依赖项。 (真的不确定这个,似乎是最简单的解决方案,但必须确保容器不再进入应用程序,如果有100个页面,那么你现在有100个使用容器的地方而不只是根源1)
  4. 一个明显更好的解决方案,我没有想到因为我是一个菜鸟......

0 个答案:

没有答案