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

設(shè)計(jì)模式系列—?jiǎng)?chuàng)建者模式

  一、上篇回顧

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

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

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

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

image  基本上來說能掌握上面的幾類情況,基本上設(shè)計(jì)出來的系統(tǒng)至少是可用的,不知道大家有沒有更多意見和建議。有的請(qǐng)?zhí)岢鰜恚視?huì)備注在文章中。

  二、摘要

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

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

  三、本文大綱

  a、上篇回顧。

  b、摘要。

  c、本文大綱。

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

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

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

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

  h、下篇預(yù)告。

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

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

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

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

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

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

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

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

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

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

主站蜘蛛池模板: 欧美日韩亚洲国产精品一区二区 | 久草热视频在线观看 | 99久女女精品视频在线观看 | 成人免费福利网站在线看 | 视频区小说区图片区激情 | 久久午夜青青草原影院 | 老司机51精品视频在线观看 | 色五月天天 | 久久久久久久久久综合情日本 | 色在线综合 | 久久精品国产亚洲a不卡 | 亚洲一区 中文字幕 | 在线视频观看一区 | 91精品啪国产在线观看免费牛牛 | 国产在线观看精品一区二区三区91 | 91成人免费版| 天天躁日日躁成人字幕aⅴ 天天躁日日躁狠狠躁中文字幕老牛 | 国产一区在线观看免费 | 精品国产免费观看 | 国产一区国产二区国产三区 | 国产精品久久久亚洲456 | 国产精品亚洲高清一区二区 | 69国产成人精品视频软件 | 99pao成人国产永久免费视频 | 国产福利在线观看视频 | 亚洲欧美另类久久久精品能播放的 | 国产情侣91 | 亚洲视频毛片 | 91在线视频播放 | 婷婷在线视频国产综合 | 日本在线观看一级高清片 | 亚洲精品福利网站 | 久久只这里是精品66 | 日本三级成人中文字幕乱码 | 91视频免费观看网站 | 亚洲狠狠97婷婷综合久久久久 | 欧美精品国产制服第一页 | 国内精品手机在线观看视频 | 亚洲琪琪 | 亚洲国产成人久久 | 中文一区在线 |