一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

.NET設(shè)計(jì)模式:原型模式(Prototype Pattern)

  概述

  在軟件系統(tǒng)中,有時(shí)候面臨的產(chǎn)品類是動(dòng)態(tài)變化的,而且這個(gè)產(chǎn)品類具有一定的等級結(jié)構(gòu)。這時(shí)如果用工廠模式,則與產(chǎn)品類等級結(jié)構(gòu)平行的工廠方法類也要隨著這種變化而變化,顯然不大合適。那么如何封裝這種動(dòng)態(tài)的變化?從而使依賴于這些易變對象的客戶程序不隨著產(chǎn)品類變化?

  意圖

  用原型實(shí)例指定創(chuàng)建對象的種類,并且通過拷貝這些原型創(chuàng)建新的對象。

  結(jié)構(gòu)圖

Prototype模式結(jié)構(gòu)圖

  生活中的例子

  Prototype模式使用原型實(shí)例指定創(chuàng)建對象的種類。新產(chǎn)品的原型通常是先于全部產(chǎn)品建立的,這樣的原型是被動(dòng)的,并不參與復(fù)制它自己。一個(gè)細(xì)胞的有絲分裂,產(chǎn)生兩個(gè)同樣的細(xì)胞,是一個(gè)扮演主動(dòng)角色復(fù)制自己原型的例子,這演示了原型模式。一個(gè)細(xì)胞分裂,產(chǎn)生兩個(gè)同樣基因型的細(xì)胞。換句話說,細(xì)胞克隆了自己。

使用細(xì)胞分裂例子的Prototype模式對象圖

  原型模式解說

  我們考慮這樣一個(gè)場景,假定我們要開發(fā)一個(gè)調(diào)色板,用戶單擊調(diào)色板上任一個(gè)方塊,將會返回一個(gè)對應(yīng)的顏色的實(shí)例,下面我們看看如何通過原型模式來達(dá)到系統(tǒng)動(dòng)態(tài)加載具體產(chǎn)品的目的。

  很自然,我們利用OO的思想,把每一種顏色作為一個(gè)對象,并為他們抽象出一個(gè)公用的父類,如下圖:

  實(shí)現(xiàn)代碼:

public abstract class Color
{
public abstract void Display();
}
public class RedColor:Color
{
public override void Display()
{
Console.WriteLine(
"Red's RGB Values are:255,0,0");
}
}
public class GreenColor:Color
{
public override void Display()
{
Console.WriteLine(
"Green's RGB Values are:0,255,0");
}
}

NET技術(shù).NET設(shè)計(jì)模式:原型模式(Prototype Pattern),轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲国产婷婷香蕉久久久久久 | 国产欧美自拍视频 | 欧美一级高清片免费一级 | 亚洲一区二区三区高清视频 | 欧美在线视频网 | 国产真实伦视频在线视频 | 99综合色 | se视频在线观看 | 特级做a爰片毛片免费看一区 | 欧美一级视频免费 | 国产精品亚洲一区二区三区在线观看 | 69国产精品| 婷婷六月激情在线综合激情 | 一区二区在线视频 | 美女一级一级毛片 | 女子十八毛片 | 九九热亚洲精品综合视频 | 欧美成人亚洲国产精品 | 国产亚洲精品日韩香蕉网 | 欧美黑人巨大xxxxxfreexxxxx | 综合伊人久久 | 欧美成人三级伦在线观看 | 激情在线观看视频免费的 | 五月婷婷之婷婷 | 玖玖视频精品 | 色综合天天综合高清网国产 | 国产成人精品三级 | 欧美大尺度无遮挡性视频 | 91自啪| 色天天躁夜夜躁天干天干 | 一区二区免费在线观看 | 5151四虎永久在线精品免费 | 精品一区二区三区的国产在线观看 | 国产精品第一页在线观看 | 国产区高清 | 一级爱爱片一级毛片-一毛 一级爱做片免费观看久久 一级不卡毛片 | 天天更新天天久久久更新影院 | 91精品久久久久久久久网影视 | 2020天堂中文字幕一区在线观 | 草草线在成人免费视频 | 精品91视频 |