6. 原型模式(Prototype)
Intent
使用原型实例指定要创建对象的类型,通过复制这个原型来创建新对象。
Class Diagram
Implementation
1 2 3
| public abstract class Prototype { abstract Prototype myClone(); }
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| public class ConcretePrototype extends Prototype {
private String filed;
public ConcretePrototype(String filed) { this.filed = filed; }
@Override Prototype myClone() { return new ConcretePrototype(filed); }
@Override public String toString() { return filed; } }
|
1 2 3 4 5 6 7
| public class Client { public static void main(String[] args) { Prototype prototype = new ConcretePrototype("abc"); Prototype clone = prototype.myClone(); System.out.println(clone.toString()); } }
|
JDK
源码:https://github.com/HWYWL/design-patterns