原型模式
简而言之,以
clone
代替new
;
适用于大量创建对象/对象依赖对象复杂,以致创建成本高的场景下
利用了所有类都有的
clone()
方法(继承自Object类),来实现对象的复制,根据类属性是否复制,可分成深拷贝和浅拷贝
组成
- 原型接口(继承
Cloneable
接口,该接口是个标记接口,没有任何方法) - 实现原型接口的类
- 管理原型对象及clone的类
- 使用原型的类
代码示例
原型接口
1 |
|
实现原型接口的类
1 |
|
管理原型类clone的类
1 |
|
使用者
1 |
|
控制台输出:
1 |
|