java23中设计模式——创建模式——prototype(原型)

原型模式定义: 

用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. 

Prototype 模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建

的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的

对象通过请求原型对象拷贝它们自己来实施创建。 

因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变

得很简单. 

以勺子为例: 

public abstract class AbstractSpoon impl

{  

   String spoonName;  

 

   public void setSpoonName(String spoon

spoonName;} 

   public String getSpoonName() {return 

 

   public Object clone()  

   { 

     Object object = null; 

     try { 

       object = super.clone(); 

     } catch (CloneNotSupportedExcepti

       System.err.println("AbstractSp

     } 

   return object; 

   } 

}

有个具体实现(ConcretePrototype): 

public class SoupSpoon extends AbstractSpoon 

{  

   public SoupSpoon() 

   { 

     setSpoonName("Soup Spoon");  

   } 

调用 Prototype 模式很简单: 

AbstractSpoon spoon = new SoupSpoon(); 

AbstractSpoon spoon2 = spoon.clone();  

当然也可以结合工厂模式来创建 AbstractSpoon 实例。 

在 Java 中 Prototype 模式变成 clone()方法的使用,由于 Java 的纯洁的面向对象特

性,使得在 Java 中使用设计模式变得很自然,两者已经几乎是浑然一体了。这反映在很多

模式上,如 Interator 遍历模式。 


你可能感兴趣的:(java23中设计模式——创建模式——prototype(原型))