概述
通过给出一个原型对象来指明所要创建的对象的类型(类型相同、内部状态相同),然后用复制这个原型对象的办法创建出更多相同类型的对象(对象不同)
类图

使用java.lang.Object.clone(Native Method)方法实现对象属性的复制。
原型类必须覆盖java.lang.Object.clone方法,因为Object的方法时protected,外围无法使用。
同时,原型类必须实现java.lang.Cloneable接口,才能调用父类的java.lang.Object.clone方法,否则运行时会出现错误java.lang.CloneNotSupportedException。

注意:浅复制不能保证引用对象符合原型模式

注意:深复制保证引用对象符合原型模式
注意:深复制保证引用对象符合原型模式。使用字节流输入输出转换是实现深拷贝最方便的一种方式。

应用
spring中的singleton和prototype,对于singleton类型,从容器中请求实例,第一次会创建然后置入缓存中,下一次请求实例,都会直接从缓存中获取;
而对于prototype,每一次从容器中请求实例,都会创建一个全新的实例。这个实例满足原型模式,即实例不同,类型和属性相同。
关键词: prototype
ARROW Home Group from Sanshui listed on Shenzhen Stock Exchange OnOctober26,ARROWHomeGroupwaslis...
【环球新视野】广东部署台风“尼格”防御工作 明天8时前海上作业渔船全回撤 10月28日8时,今年第22号台风“尼...
三水纬达光电成功过会 佛山企业首次登陆北交所 10月28日,北京证券交易所(以下简...
全球百事通!禅城“岭南文创IP100计划”发布 佛山新闻网讯佛山日报见习记者贺勇...