午夜拍鍵驚奇
          子夜 編程 代碼與我同在
          posts - 48,comments - 118,trackbacks - 79

          一、概述

          原型模式屬于對(duì)象創(chuàng)建模式,通過(guò)給出一個(gè)原型對(duì)象來(lái)指明所要?jiǎng)?chuàng)建的對(duì)象類型,然后用復(fù)制這個(gè)對(duì)象的方法創(chuàng)建出更多同類型的對(duì)象。

           

          二、結(jié)構(gòu)

          1、簡(jiǎn)單形式

          o_prototype1.gif

          Client:提出創(chuàng)建對(duì)象的請(qǐng)求

          Prototype:抽象角色,給出所有具體原型類所需的接口

          ConcretePrototype:被復(fù)制的對(duì)象


          2、登記形式

          o_prototype2.gif

          PrototypeManager:創(chuàng)建并記錄具體對(duì)象

           

          三、淺克隆與深克隆

          淺克隆:僅做refrence一級(jí)的克隆,refrence所指的對(duì)象不被克隆

          深克隆:將refrence所指的對(duì)象進(jìn)行遞歸克隆,需考慮克隆深度及循環(huán)克隆問題


          四、動(dòng)機(jī)

          替換較復(fù)雜的等級(jí)結(jié)構(gòu)的工廠方法


          五、優(yōu)缺點(diǎn)

          1、允許動(dòng)態(tài)地增加或減少產(chǎn)品類,且對(duì)整個(gè)現(xiàn)有的產(chǎn)品結(jié)構(gòu)沒有影響

          2、提供簡(jiǎn)化的創(chuàng)建結(jié)構(gòu)

          3、具有動(dòng)態(tài)加載新功能的能力

          4、產(chǎn)品類不需要有確定的等級(jí)結(jié)構(gòu)

          I、每一個(gè)類必須配備一個(gè)克隆方法

          posted on 2005-08-05 10:54 ^ Mustang ^ 閱讀(920) 評(píng)論(0)  編輯  收藏 所屬分類: Design Patterns
          主站蜘蛛池模板: 乌鲁木齐市| 益阳市| 三门县| 永定县| 沁水县| 新邵县| 中西区| 宜川县| 莫力| 景谷| 若尔盖县| 绥江县| 永仁县| 慈利县| 乌拉特后旗| 沁源县| 奇台县| 南充市| 开化县| 佛坪县| 甘南县| 兴安县| 达拉特旗| 洞口县| 青冈县| 平罗县| 海宁市| 开远市| 定兴县| 平定县| 潢川县| 宣汉县| 合川市| 盐山县| 宣化县| 金昌市| 新密市| 江西省| 南投市| 凉山| 北流市|