【设计模式】原型Prototype模式

定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。


所谓原型模式,其实就是依托一个已经实例化的对象去创建另外一个可以进行定制的对象,而不需要知道创建过程中的具体细节。


浅复制与深复制:

clone方法对于值类型的字段会进行逐位复制,而对于引用类型的字段,则复制引用但是不复制引用的对象,所以原始的对象和副本都引用同一对象。对象改变所以副本都会被改变。

浅复制——被复制对象的所有变量都含有与原来的对象相同的值,而所有的对其他对象引用都依然指向原来的对象。

深复制——把引用的对象的变量指向复制过的新对象,而不是原有的被引用的对象。


总结:

1、应考虑线程安全性和复制的深度。

适用情况:

2、当要实例化的类是在运行时指定时。

3、为了避免创建一个与产品类层次平行的工厂类层次时。

4、当一个类的实例只能有几个不同状态组合中的一种时。


原型模式的优点:待总结。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值