当创建给定类的实例的过程很昂贵或很复杂时,可以使用原型模式。原型模式的核心是复制,Java原生就是支持。因为所有的JavaBean都继承自Object,而Object类提供一个clone()方法,可以讲一个JavaBean对象复制一份。但是,这个JavaBean必须实现一个Cloneable接口,表明这个JavaBean支持复制。
场景描述
有一个场景可以很好地来理解这个模式,就是西游记里的孙悟空,拔毛一吹瞬间变出数百个一模一样的分身。或者火影忍者中鸣人地影分身也有异曲同工之妙。下面用孙悟空地例子来看下如何实现原型模式。