Prototype(原型)模式
2020-12-01 本文已影响0人
iEugene
- 特点:是一种提供简单、便捷且高性能的创建新实例的设计模式,并且可以将原型实体类进行解耦,主要以初始对象实例为种子对其进行拷贝的形式实现,以Java为例,是通过实现Cloneable接口进行标记,然后调用clone方法对其进行‘拷贝’,但是拷贝有深拷贝和浅拷贝之分。区别就在于对引用类型的拷贝生成新实例,深拷贝会对引用类型进行拷贝,浅拷贝只对引用类型的引用进行拷贝。
- 角色:
角色名称 | 角色职责 |
---|---|
Prototype | 用于定义原型模型,在Java中可以用于统一实现Cloneable接口 |
ConretePrototype | 实现原型模型的实体类,如果需要实现深拷贝则需要实现clone方法 |
-
角色关系:
Prototype.png
-
代码示例:Prototype
以上文献参考:《图解设计模式》