设计模式-原型模式《三》
2019-01-01 本文已影响10人
liyoucheng2014
何为原型模式
定义:使用原型实例指定创建对象的种类,并通过复制这个原型创建新的对象
静态关系图如下
原型模式通用类图 原型模式的类图何时使用原型模式
1、需要创建的对象应独立于其类型与创建方式
2、要实例化的类是在运行时决定的
3、不想要与产品相对应的工厂层次
4、不同类的实例间的差异仅是状态的若干组合。因此复制相应数量的原型比手工实例化更加方便
5、类不容易创建,比如每个组件可把其他组件作为子节点的组合对象。复制已有的组合对象并对副本进行修改会更加容易
浅复制与深复制
浅复制:只复制指针值而不是实际资源
深复制:不仅复制指针值,还复制指针所指向的资源
实现NSCopy协议时注意深拷贝与浅拷贝
深拷贝和浅拷贝针对集合