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

設(shè)計模式系列—創(chuàng)建者模式

  一、上篇回顧

  上篇我們主要講述了抽象工廠模式和工廠模式。并且分析了該模式的應(yīng)用場景和一些優(yōu)缺點(diǎn),并且給出了一些實(shí)現(xiàn)的思路和方案,我們現(xiàn)在來回顧一下:

  抽象工廠模式:一個工廠負(fù)責(zé)所有類型對象的創(chuàng)建,支持無縫的新增新的類型對象的創(chuàng)建。這種情況是通過配置文件來實(shí)現(xiàn)的,通過字典映射的方式來實(shí)現(xiàn),不過可能效率上有點(diǎn)低下,可以通過優(yōu)化的方式來做,上篇中我們也給出了委托的工廠實(shí)現(xiàn)形式,相比之前的簡單工廠模式和工廠模式有了更好的靈活性,并且對具有依賴關(guān)系或者組合關(guān)系的對象的創(chuàng)建尤為適合。

  上篇中,有不少的朋友提出了一些意見和建議,首先很感謝大伙的支持和鼓勵,有朋友提出來,我畫的圖不夠?qū)I(yè),專業(yè)人士應(yīng)該用UML建模圖來搞,我怎么說呢?我也同意這樣的說法,但是我發(fā)現(xiàn)我通過另外的直觀的圖形,大家一看就能更明白,結(jié)合代碼,當(dāng)然好的UML圖,已經(jīng)能表述清楚設(shè)計的思路和大體實(shí)現(xiàn)了,不過說實(shí)話,我看著就有點(diǎn)類,特別是UML圖復(fù)雜的時候。所以我還是暫時先用這種一般的圖形來表述我理解的設(shè)計模式的思想,看看大伙是什么看法和意見,如果說都說說UML圖的話,那么后面的相關(guān)模式,我會主要以UML專業(yè)圖來繪制。

  我這里總結(jié)下我們以后項(xiàng)目中的可能會用到設(shè)計模式 之處或者系統(tǒng)架構(gòu)的時候,一般情況下有這樣的幾類方案,我們可以在考慮系統(tǒng)的低耦合性的時候的設(shè)計:

image  基本上來說能掌握上面的幾類情況,基本上設(shè)計出來的系統(tǒng)至少是可用的,不知道大家有沒有更多意見和建議。有的請?zhí)岢鰜恚視渥⒃谖恼轮小?/p>

  二、摘要

  本文主要是針對創(chuàng)建型模式中的創(chuàng)建者模式進(jìn)行講述,創(chuàng)建者模式是創(chuàng)建型模式中最負(fù)責(zé)的一個設(shè)計模式了,創(chuàng)建者負(fù)責(zé)構(gòu)建一個對象的各個部分,并且完成組裝的過程,我們可以這么理解創(chuàng)建者模式,創(chuàng)建者模式類似與一個步驟基本固定,但是每個步驟中的具體形式卻又可以變化的這類對象的創(chuàng)建。也許這樣說還是太抽象了,我們這么來理解吧,我感覺讓人最容易理解的形式還是圖形化的形式,不但接受起來容易,并且讓人映象深刻,不知道大家是不是和我有同感呢?下面我們給出一個簡單的例子,通過圖形化的流程來說明吧:我們這里以我們大伙平時最常見的做飯為例吧:

image  可能我這里給出的流程只是我個人理解的或者看到的過程,不代表全部,呵呵,這里只是事例性的說明。

  三、本文大綱

  a、上篇回顧。

  b、摘要。

  c、本文大綱。

  d、創(chuàng)建者模式的特點(diǎn)及使用場景。

  e、創(chuàng)建者模式的實(shí)現(xiàn)方案。

  f、創(chuàng)建者模式使用總結(jié)。

  g、系列進(jìn)度。

  h、下篇預(yù)告。

  四、創(chuàng)建者模式的特點(diǎn)及使用場景

  創(chuàng)建者模式主要是用于創(chuàng)建復(fù)雜的一些對象,這些對象的創(chuàng)建步驟基本固定,但是可能具體的對象的組成部分卻又可以自由的變化,現(xiàn)實(shí)中的例子很多,但是可能大伙都比較容易理解的就是,我們的自己花錢配置的臺式機(jī)或者筆記本,可以 這樣理解,這些硬件設(shè)備的各個零件,不管是CPU是Intel的還是AMD的,顯卡是華碩的還是小影霸的,不管硬盤是西部數(shù)據(jù)的還是希捷的,其實(shí)想表述的意思就是對象的具體的組成部分可以是變化的,但是可能我們發(fā)現(xiàn)對象的這些組成部分的組織起來的過程是相對固定的,那么我們就可以用創(chuàng)建者模式來做,并且我們引入一個引導(dǎo)者(Director)來引導(dǎo)這個對象的組裝過程??梢院唵斡脠D形化的過程來描述如下:

image  我們上面說明了一個服裝的大概生產(chǎn)過程,這里生產(chǎn)的順序可能會發(fā)生變化,或者生產(chǎn)的帽子,上衣等都會發(fā)生變化,但是服裝的組裝過程基本上變化不大,都是需要帽子,上衣,褲子的,這時候我們可以通過引導(dǎo)著負(fù)責(zé)組裝這樣的過程,然后我們在具體的每個部分可以是抽象接口,根據(jù)不同的實(shí)現(xiàn)創(chuàng)建不同的帽子來完成變化。

  五、創(chuàng)建者模式的實(shí)現(xiàn)方案

  5.1、經(jīng)典的創(chuàng)建者模式實(shí)現(xiàn)

  • 我們先給出經(jīng)典創(chuàng)建者模式的一個實(shí)現(xiàn)形式,然后針對這個經(jīng)典模式后面提出幾個改進(jìn)方案,我們這里以上面講述的服裝的過程作為例子來說明下創(chuàng)建者模式的原理和思想,希望大家也能靈活的運(yùn)用到實(shí)際的項(xiàng)目中去。達(dá)到學(xué)以致用的目的。

  我們來看看具體的代碼實(shí)現(xiàn):

/// <summary> 
/// 創(chuàng)建對象組織的所有構(gòu)造步驟接口
/// </summary>
public interface IBuider
{
void BuilderPart1();
void BuilderPart2();
void BuilderPart3();
}

it知識庫設(shè)計模式系列—創(chuàng)建者模式,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 99精品久久精品一区二区 | 久久精品国产乱子伦多人 | 久久毛片久久毛 | 五月婷婷六月丁香激情 | 色哟哟视频在线 | 国产日韩三级 | 一国产大片在线观看 | 国产99r视频精品免费观看 | 亚洲不卡一区二区三区在线 | 色呦呦在线播放 | 国产三级网站在线观看 | 亚洲最大综合网 | 国内精品久久久久久中文字幕 | 丝袜综合网 | 色网综合| 国产三级福利 | 亚洲欧美日韩精品在线 | 精品国产成人a区在线观看 精品国产成人a在线观看 | 日韩一区视频在线 | 亚洲一区二区在线免费观看 | 五月婷婷之婷婷 | 亚洲视频一区二区三区 | 91精品国产色综合久久不卡蜜 | 伊人婷婷| 久久精品a | 黄色大片网站在线观看 | 国产四虎免费精品视频 | 国产精品原创 | 91原创视频 | 四虎免费看 | 久久99精品久久久久子伦 | 国产成人综合亚洲欧美在线n | 激情综合欧美 | 91大夯在线观看手机观看 | 亚洲欧美综合图片 | 国产成人亚洲综合91精品555 | 亚洲婷婷综合网 | 在线观看精品视频一区二区 | 视频一区二区在线播放 | 国产网红在线 | 黄网在线免费 |