在Spring中进行原型设计是否使用Clone并满足原型模式?

时间:2015-09-28 04:43:31

标签: spring clone prototype-pattern

我不认为spring在制作原型时会使用克隆,如果他们使用反射API并创建一个复制对象并将其称为克隆/原型,那将会是作弊,Springs proto永远不会满足原型模式的任何条件。

1 个答案:

答案 0 :(得分:0)

是的,你是对的。 Spring中的@Scope("prototype")注释并没有由GoF实现原型设计模式。虽然原型设计模式通过克隆给定的原型来创建新对象(参见here),但Spring @Scope("prototype")将不会这样做。它每次都会通过Spring的默认对象创建机制创建一个新对象(我猜这是反射)。如果你看一下Spring的文档,它就会说@Scope("prototype")是Java new运算符的替代品:

  

在某些方面,Spring容器的作用是关于   prototype-scoped bean是Java new运算符的替代品。

(见here