工厂、生产者和提供者之间在职责、对象的生命周期和 DI 依赖关系方面有什么区别?



我见过术语SomeProducerSomeProviderSomeFactory,在某些项目中几乎随机用作类名。

我还没有看到上述名称对DI Beans责任的明确定义。通常,SomeFactory取决于OtherServiceOtherConnector。实际实现和命名取决于开发人员。

这个问题的原因:我想写干净,可读和可理解的代码。使他人摆脱因阅读和理解意大利面条代码而造成的痛苦。

从我个人的角度来看,我认为存在层次结构关系

Provider提供了诸如对象关系映射之类的服务,例如,我们使用HibernatePersistenceProvider来告诉容器我们将使用Hibernate作为JPA的实现。 同时,我们创建EntityManagerFactory来管理从中创建的所有实体管理器,然后Producer来创建托管对象,以便 CDI 可以发现它们。

最新更新