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

設計模式系列—原型模式

  一、上篇回顧

  上篇創建者模式中,我們主要講述了創建者的幾類實現方案,和創建者模式的應用的場景和特點,創建者模式適合創建復雜的對象,并且這些對象的每個組成部分的詳細創建步驟可以是動態的變化的,但是每個對象的組裝的過程來說可能是相對固定的或者說是對象的創建的過程是固定的,那么通過創建者模式可以很好的解決這類復雜對象的創建,而在我們的生活中或者是項目中可能會有這個方面的需求,那么使用創建者模式無疑是好的選擇。

  創建者模式中的每個對象組成部分的構建都是對象本身提供的內部方法,具體的創建者只是調用要創建的對象的內部的相應組成部分的構建方法,組織這些對象內部構建方法的執行順序,完成對象的完整構建。當我們的客戶應用程序需要調用這個創建者時,我們只需要通過指導者調用的形式,提供統一的創建者訪問入口,通過構造函數注入或者配置文件的形式來完成創建者的注入。

  二、摘要

  本文主要是講述創建型模式中一個比較特殊的模式-原型模式,這個模式呢,有個最大的特點是克隆一個現有的對象,這個克隆的結果有2種,一種是是淺復制,另一種是深復制,這里我們也會探討下深復制和淺復制的原理,這樣可能更方便大家理解這個原型模式的使用。我們都知道,創建型模式一般是用來創建一個新的對象,然后我們使用這個對象完成一些對象的操作,我們通過原型模式可以快速的創建一個對象而不需要提供專門的new()操作就可以快速完成對象的創建,這無疑是一種非常有效的方式,快速的創建一個新的對象。本文將會從以下幾個方面進行講述:

  1、原型模式的使用場景和特點。

  2、淺復制和深復制的原理。

  3、舉例說明淺復制和深復制。

  4、原型模式的實現方案。

  5、總結原型模式。

  我們這里先給出一個原型模式的原理圖:

image  三、本文大綱

  a、上篇回顧。

  b、摘要。

  c、本文大綱。

  d、原型模式的特點及使用場景。

  e、深復制和淺復制。

  f、原型模式的實現方案。

  g、原型模式使用總結。

  h、系列進度。

  i、下篇預告。

  四、原型模式的特點及使用場景

  原型模式的主要思想是基于現有的對象克隆一個新的對象出來,一般是有對象的內部提供克隆的方法,通過該方法返回一個對象的副本,這種創建象的方式,相比我們之前說的幾類創建型模式還是有區別的,之前的講述的工廠模式與抽象工廠都是通過工廠封裝具體的new操作的過程,返回一個新的對象,有的時候我們通過這樣的創建工廠創建對象不值得,特別是以下的幾個場景的時候,可能使用原型模式更簡單也效率更高。

  1、如果說我們的對象類型不是剛開始就能確定,而是這個類型是在運行期確定的話,那么我們通過這個類型的對象克隆出一個新的類型更容易。這個怎么理解。例如我們有的時候在處理DataTable中的記錄進行篩選后,放在一個新的DataTable 中,我們知道如果說2個dataTable的架構不同,那么必須手動的顯示的賦值,否則無法使用如下方式進行導入數據:

  下面給出測試的相關代碼和說明:

public class DataTableDemo
{
public void CloNETest()
{
string cmdText = "SELECT * FROM TABLE";
DataTable dt
= new DataTable();
//通過執行上面的cmdText 返回一個dataTable對象;

//這時候我們可以如下形式復制一個新的dataTable,而不用先創建一個dataTable,然后把每一列都顯示的循環添加到新的 dataTable中,

//這是很大的工作量。
DataTable dt1 = dt.Clone();
//克隆一個新的對象 dt1.

#region 不采用克隆的形式復制一個新的dataTable
DataTable dt2
= new DataTable();

foreach (DataColumn column in dt.Columns)
{
dt2.Columns.Add(column.ColumnName);
}
#endregion
}
}

it知識庫設計模式系列—原型模式,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 黄网视频在线观看 | 小说区图片区综合久久88 | 成人a毛片手机免费播放 | 久久久精品中文字幕 | 婷婷六月综合 | 日韩永久免费视频 | 色爱区综合小说 | 天天拍夜夜添久久精品免费 | 亚洲一区二区三区深夜天堂 | 亚洲精品第1页 | 最近中文字幕无吗免费高清 | 国产精品短篇二区 | 久久噜噜久久久精品66 | 欧美性生活网站 | 五月婷婷六月综合 | 美女毛片儿 | 色网站免费观看 | 国产综合色在线视频 | 久久一日本道色综合久 | www在线小视频免费 xfplay影音先锋永久资源 | 四虎精品永久在线 | 亚洲一区在线免费观看 | 成人av在线播放 | 免费国产怡红院在线观看 | 德国女人一级毛片免费 | 天天干天天干天天 | 97影院秋霞国产精品 | 91视频麻豆视频 | 国产精品视频一区二区三区w | 99精品久久秒播无毒不卡 | 日韩美女一级毛片 | 黄网址在线观看 | 国产精品一区二区三区四区五区 | 久久噜噜噜久久亚洲va久 | 91热成人精品国产免费 | 欧美三级视频在线观看 | 精品久久九九 | 91大夯在线观看手机观看 | 91精品国产福利在线观看 | 国产91中文 | 99视频在线国产 |