本站首页    管理页面    写新日志    退出

«November 2025»
1
2345678
9101112131415
16171819202122
23242526272829
30


公告

  如果你忍了,欺负你的人将来可能就进监狱了。如果你反击,欺负你的人将来可能就获选十大杰出青年了。

        QQ: 3159671

http://greenboy.javaeye.com/

http://blog.sina.com.cn/u/1278341164 小鸟吹烟


我的分类(专题)

日志更新

最新评论

留言板

链接

Blog信息
blog名称:小鸟吹烟
日志总数:157
评论数量:424
留言数量:-1
访问次数:1266479
建立时间:2006年10月23日




[开发模式]设计模式之Prototype(原型)
文章收藏,  网上资源

tone 发表于 2007/3/14 16:59:19

原型模式定义:用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象. Prototype模式允许一个对象再创建另外一个可定制的对象,根本无需知道任何如何创建的细节,工作原理是:通过将一个原型对象传给那个要发动创建的对象,这个要发动创建的对象通过请求原型对象拷贝它们自己来实施创建。 如何使用?因为Java中的提供clone()方法来实现对象的克隆,所以Prototype模式实现一下子变得很简单. 以勺子为例: public abstract class AbstractSpoon implements Cloneable{   String spoonName;   public void setSpoonName(String spoonName) {this.spoonName = spoonName;}  public String getSpoonName() {return this.spoonName;}  public Object clone()   {    Object object = null;    try {      object = super.clone();    } catch (CloneNotSupportedException exception) {      System.err.println("AbstractSpoon is not Cloneable");    }    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遍历模式。


阅读全文(2212) | 回复(0) | 编辑 | 精华
 



发表评论:
昵称:
密码:
主页:
标题:
验证码:  (不区分大小写,请仔细填写,输错需重写评论内容!)



站点首页 | 联系我们 | 博客注册 | 博客登陆

Sponsored By W3CHINA
W3CHINA Blog 0.8 Processed in 0.418 second(s), page refreshed 144795426 times.
《全国人大常委会关于维护互联网安全的决定》  《计算机信息网络国际联网安全保护管理办法》
苏ICP备05006046号