在分离类上,spring比工厂模式更有效

时间:2019-01-16 07:14:14

标签: spring design-patterns

spring的最重要特征之一是它使用依赖注入来提供去耦。 就像我有一个Vehicle界面,并且有Car,Bus,Bike这样的实现。因此我可以在春季配置这些bean,并可以将Car,Bus,Bike之外的任何实现分配给Vehicle。因此代码在这里是松散耦合的,但是我们可以使用工厂模式在这里实现相同的目的,通过这种方式,我们还必须在将信息传递给工厂方法的同时仅在一个位置更改代码。所以我想知道spring在这里如何更有效率,我的意思是,如果我们可以使用工厂模式实现相同的去耦,那为什么我们应该使用spring?

1 个答案:

答案 0 :(得分:0)

区别在于,使用Spring或任何其他IoC框架所要做的不仅仅是为您创建对象(以Spring术语而言,bean)。

IoC控制器执行以下操作:

  • 创建对象
  • 管理对象生存期
  • 注入内部依赖项
  • 允许您添加范围

仅举几例。

阅读this blog,了解有关使用spring的IoC的更多信息,如果您对Scopes感兴趣,请阅读this

Spring如何更有效地分离类?

出于绩效目的,这实际上取决于您实施工厂的方式。关于您正在尝试做的事情。

但是,它确实在解耦类方面做得更好。如您所见,可以使用所有内置功能。因此,它大大简化了许多事情,并确实为您节省了许多样板代码。我想指出的一件事是,它也完全不会阻止您使用工厂。例如,您可以使用FactoryBean来使用Spring IoC机制提供工厂。