我从来没有自己使用
java依赖注入功能,所以我去阅读一些关于它的页面,我仍然不清楚单例和依赖注入之间的对决.
让我们举一个基本的例子:假设我正在使用MVC或MVVM模式来建立一个小型Java应用程序.我将从登录页面开始,请求用户名和密码.
稍后可能需要在应用程序中使用这两个信息,因此我需要将它们存储在一个简单的POJO中,可以从应用程序的任何视图访问.
那我应该怎么用?单身人士?或者我应该@Inject POJO的构造函数并在需要时使用Injector获取它(就像使用Guice一样)?
谢谢你启发我:)
最佳答案 我会远离POJO注入依赖.在这种情况下,我会为我的ViewModel注入一个提供/管理用户的单例类型服务.如果他们需要当前用户,他们注入的服务为他们提供当前相关的POJO实例.只要您的用户管理服务包含在一个接口中,因此可以在不破坏功能的情况下进行更换,我认为这满足了IoC.
这就是我遇到类似问题的方法,但我不确定这是最好的方法.