<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    隨筆 - 40, 文章 - 0, 評論 - 20, 引用 - 0
    數(shù)據(jù)加載中……

    23種面向?qū)ο蟮脑O(shè)計模式----Prototype模式


    原型模式定義:
    用原型實例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象.

    Prototype模式允許一個對象再創(chuàng)建另外一個可定制的對象,根本無需知道任何如何創(chuàng)建的細節(jié),工作原理是:通過將一個原型對象傳給那個要發(fā)動創(chuàng)建的對象,這個要發(fā)動創(chuàng)建的對象通過請求原型對象拷貝它們自己來實施創(chuàng)建。

    如何使用?
    因為Java中的提供clone()方法來實現(xiàn)對象的克隆,所以Prototype模式實現(xiàn)一下子變得很簡單.

    以勺子為例:

    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;
      }
    }

    有個具體實現(xiàn)(ConcretePrototype):

    public class SoupSpoon extends AbstractSpoon
    {
      public SoupSpoon()
      {
        setSpoonName("Soup Spoon");
      }
    }

    調(diào)用Prototype模式很簡單:

    AbstractSpoon spoon = new SoupSpoon();
    AbstractSpoon spoon2 = spoon.clone();

    當(dāng)然也可以結(jié)合工廠模式來創(chuàng)建AbstractSpoon實例。

    在Java中Prototype模式變成clone()方法的使用,由于Java的純潔的面向?qū)ο筇匦裕沟迷贘ava中使用設(shè)計模式變得很自然,兩者已經(jīng)幾乎是渾然一體了。這反映在很多模式上,如Interator遍歷模式。



    原文出處:http://www.jdon.com/designpatterns/prototype.htm

    看看寫的很好,就拿來引用一下,不用自己寫的那么累^_^.

    posted on 2005-11-20 20:32 月亮 閱讀(205) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發(fā)表評論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 久久久久久久久无码精品亚洲日韩| 中文字幕在亚洲第一在线 | 国产免费区在线观看十分钟 | 亚洲av午夜成人片精品网站| 岛国岛国免费V片在线观看| 亚洲人成网站18禁止一区 | 亚洲avav天堂av在线网毛片| 午夜私人影院免费体验区| 亚洲日韩一区二区三区| 日本一区二区三区日本免费| 免费在线人人电影网| 亚洲一区二区三区乱码A| 黄色网址在线免费| 亚洲精品天天影视综合网| 91制片厂制作传媒免费版樱花| 亚洲av日韩av综合| 免费黄色网址入口| www.av在线免费观看| 国产aⅴ无码专区亚洲av| 99re热精品视频国产免费| 亚洲一区二区三区乱码在线欧洲| 日韩高清免费在线观看| 精品国产免费人成网站| 1区1区3区4区产品亚洲 | 一本色道久久88亚洲综合 | 免费h视频在线观看| 久久精品国产亚洲AV忘忧草18 | 狠狠热精品免费观看| 亚洲av永久无码制服河南实里| 色影音免费色资源| 精品亚洲成A人在线观看青青| 一本色道久久综合亚洲精品| 97av免费视频| 天堂亚洲免费视频| 亚洲色图国产精品| 国产精品嫩草影院免费| 成人久久免费网站| 亚洲日韩一区二区三区| 无码专区—VA亚洲V天堂| 好男人看视频免费2019中文| 两个人www免费高清视频|