Prototype是反模式吗?

AKS*_*AKS 7 java design-patterns cloneable prototype-pattern

当Joshua Bloch提到在Java中破解了Cloneable接口时,为什么Prototype模式使用clone()方法来促进对象创建,而不是Java开发中的反模式?

"Cloneable被打破是一种耻辱,但它确实发生了." - 约书亚布洛赫

das*_*ght 10

不,Prototype不是反模式.

原型设计模式与语言无关.它适用于许多其他面向对象的编程语言,并且它有多种可能的实现.

虽然设计到Java类库中的实现确实被破坏了,但这并不意味着该模式也被破坏了.这意味着如果你想在你的设计中使用这种模式,你应该远离它的内置支持,而是自己制作.