原型模式

定义

原型模式(Prototype Pattern):使用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。

有时候当你想复制一个对象时,先会想到用new,但有时候你拿到的只是抽象类,亦或者这个对象内部有一些私有属性你是拿不到的。
还有时候,如果对象没有实现clone方法来实现克隆,则这个时候通过clone获取的是浅克隆,如果里面有其他对象,则返回的是引用。

原型模式是一种另类的创建型模式,创建克隆对象的工厂就是原型类自身,工厂方法由克隆方法来实现。

类图

Read More

工厂方法模式

定义

定义了一个创建对象的接口,但由子类决定要实例化的类是哪一个。工厂方法让类把实例化推迟到子类。

结构图

角色

  • 抽象工厂:实现了所有操纵产品的方法,但不实现工厂方法。factoryMethod是抽象方法。
  • 具体工厂:必须实现抽象的抽象方法,以实际制造出产品。
Read More