..

prototype

原型模式

1. 意图

复制已有对象,而无需使代码依赖其所属类

2. 问题

Clone一个对象,可以通过set方法将对象的属性全部赋予值,也可以通过BeanUtils赋予新对象属性,但是,有些为父类引用,并不知道子类实现的属性,无无法直接复制该对象。

3. 解决方法

可以将clone过程交给被复制的对象来完成该操作,被clone的对象可以复制当前对象存在的属性。为所有支持clone的类实现一个通用接口。支持clone的对象即为原型。

4. 原型模式组件

  1. 原型:对clone方法进行声明的接口
  2. 具体原型:对clone方法进行实现

5. 原型模式结构

  1. 基本实现

生成器设计模式结构

  1. 原型注册表实现

原型注册表

6. 实现步骤

  1. 创建原型接口,并声明clone方法
  2. 具体对象实现原型接口,并且实现clone方法