创建型模式之五:原型模式

原型模式频繁用于需要相似的对象,原型模式克隆对象,并改掉其中的特征。这样消耗的资源就很少,想想为什么消耗少的资源?

原型模式类图

创建型模式之五:原型模式

原型模式Java代码

package designpatterns.prototype;
 
//prototype
interface Prototype {
 void setSize(int x);
 void printSize();
 }
 
// a concrete class
class A implements Prototype, Cloneable {
 private int size;
 
 public A(int x) {
 this.size = x;
 }
 
 @Override
 public void setSize(int x) {
 this.size = x;
 }
 
 @Override
 public void printSize() {
 System.out.println("Size: " + size);
 }
 
 
 @Override
 public A clone() throws CloneNotSupportedException {
 return (A) super.clone();
 }
}
 
//when we need a large number of similar objects
public class PrototypeTest {
 public static void main(String args[]) throws CloneNotSupportedException {
 A a = new A(1);
 
 for (int i = 2; i < 10; i++) {
 Prototype temp = a.clone();
 temp.setSize(i);
 temp.printSize();
 }
 }
}

在java标准库应用 java.lang.Object - clone() 

以上文章翻译自: http://www.programcreek.com/2013/02/java-design-pattern-prototype/

你可能感兴趣的:(创建型模式之五:原型模式)