原型模式

原创 2015年11月19日 17:29:31

原型模式

      原型模式通过给出一个原型对象来指明所要创建对象的类型,然后通过复制这个原型对象的办法建出更多同类型的对象。

      工作原理:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象复制原型自己来实现创建过程。

原型模式结构图:


Prototype表示抽象原型类,它定义具有克隆自己的方法的接口

ConcreteProductA,ConcreteProductB表示具体的原型类,实现了具体的克隆方法

Client表示客户类,让原型对象克隆自身从而创建一个新的对象


原型模式之快速创建工作周报:

具体原型类:

package ConcreteProduct;

public class WeekyLog implements Cloneable {

	private String name;
	private String date;
	private String contetn;
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public String getDate() {
		return date;
	}
	public void setDate(String date) {
		this.date = date;
	}
	public String getContetn() {
		return contetn;
	}
	public void setContetn(String contetn) {
		this.contetn = contetn;
	}
   public Object clone(){
	   Object obj=null;
	   try {
		obj=super.clone();
		return obj;
	} catch (CloneNotSupportedException e) {
		System.out.println("不能复制");
		return null;
	} 
   }	

}
客户端:
package Client;

import ConcreteProduct.WeekyLog;

public class client {
	public static void main(String args[]){
		WeekyLog log_previous=new WeekyLog();
		log_previous.setName("张三");
		log_previous.setDate("2015年第一周");
		log_previous.setContetn("这周很忙");
		
		System.out.println("****周报****");
		System.out.println(log_previous.getName());
		System.out.println(log_previous.getDate());
		System.out.println(log_previous.getContetn());
		
		WeekyLog log_now;
		log_now=(WeekyLog)log_previous.clone();
		log_now.setDate("2015年第二周");
		
		System.out.println("****周报****");
		System.out.println(log_previous.getName());
		System.out.println(log_previous.getDate());
		System.out.println(log_previous.getContetn());
		
	}
}



原型模式示例

  • 2016年12月22日 14:24
  • 3.19MB
  • 下载

第八章原型模式

  • 2012年09月27日 10:23
  • 1.19MB
  • 下载

原型模式【Prototype Pattern】

今天我们来讲原型模式,这个模式的简单程度是仅次于单例模式和迭代器模式,非常简单,但是要使用好这个模式还有很多注意事项。我们通过一个例子来解释一下什么是原型模式。         现在电子账单越来越流...

实验六:原型模式.rar

  • 2011年05月26日 16:16
  • 30KB
  • 下载

prototype原型模式

  • 2017年01月17日 11:14
  • 763KB
  • 下载

原型模式-浅克隆和深克隆的自我理解

原型模式是一种创建型设计模式,它通过复制一个已经存在的实例来返回新的实例,而不是新建实例.被复制的实例就是我们所称的原型,这个原型是可定制的. 原型模式多用于创建复杂的或者耗时的实例, 因为这种情况下...

原型模式实践代码

  • 2016年03月23日 23:04
  • 5.94MB
  • 下载

Java原型模式

  • 2017年04月12日 18:34
  • 8KB
  • 下载

对象的克隆——原型模式(二)

7.3 完整解决方案       Sunny公司开发人员决定使用原型模式来实现工作周报的快速创建,快速创建工作周报结构图如图7-3所示: 图7-3 快速创建工作周报结构图       在图7...

java 原型模式

  • 2017年01月05日 14:14
  • 6KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:原型模式
举报原因:
原因补充:

(最多只允许输入30个字)