天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式—工廠模式

  一、開篇

  本文主要是講述設(shè)計(jì)模式中最經(jīng)典的創(chuàng)建型模式-工廠模式,本文將會(huì)從以下幾點(diǎn)對(duì)工廠模式進(jìn)行闡述。        image  本文將會(huì)從上面的四個(gè)方面進(jìn)行詳細(xì)的講解和說明,當(dāng)然會(huì)的朋友可以之處我的不足之處,不會(huì)的朋友也請(qǐng)我們能夠相互學(xué)習(xí)討論。

  二、摘要

  本文將會(huì)主要是結(jié)合項(xiàng)目中的一些實(shí)例作為實(shí)例來分析工程模式的使用方式和何時(shí)使用工程模式,并且分析工程模式的有點(diǎn)和它解決的問題,在我們實(shí)際的項(xiàng)目中何時(shí)能使用到它,或者說我們?cè)谑裁辞闆r下,應(yīng)該考慮使用工廠模式來解決項(xiàng)目中的問題,一般情況下我們可以這樣理解設(shè)計(jì)模式,設(shè)計(jì)模式是一種方案,為我們遇到與設(shè)計(jì)模式提出的應(yīng)用場景想象或者相仿的場景中,這類問題通常是經(jīng)常發(fā)生或者是經(jīng)常遇到的問題的通用解決方案。

  本文依然是采用圖文講解的形式來分析工程模式在項(xiàng)目中出現(xiàn)的位置,并且給出幾個(gè)靈活的實(shí)現(xiàn)方案。主要針對(duì)的實(shí)現(xiàn)方式有:通過配置文件,通過類型,通過委托,通過特性等來實(shí)現(xiàn)工廠。

  三、本文大綱

       a、開篇。

       b、摘要。

       c、本文大綱。

       d、工廠模式的特點(diǎn)及使用場景。

       e、工廠模式的實(shí)現(xiàn)方案。

       f、工廠模式使用總結(jié)。

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

       h、下篇預(yù)告。

  四、工廠模式的特點(diǎn)及使用場景

  4.1、工廠模式簡介

  工廠模式是創(chuàng)建型模式中最典型的模式,主要是用來創(chuàng)建對(duì)象,減少我們?cè)谑褂媚硞€(gè)對(duì)象時(shí)的new() 操作,我相信大家都有這樣的困惑,目前我所在的項(xiàng)目都在程序開發(fā)的過程中,還是有很多的new()操作出現(xiàn)在表現(xiàn)層中,并沒有通過工廠來創(chuàng)建對(duì)象,一方面可能是因?yàn)槲覀冏陨肀容^懶,不規(guī)范項(xiàng)目的編碼形式,另外一方面也是由于項(xiàng)目的進(jìn)度比較緊,沒有那么多的時(shí)間去完成工廠的統(tǒng)一創(chuàng)建,當(dāng)然對(duì)于這樣的動(dòng)態(tài)創(chuàng)建對(duì)象的工廠,推薦的做法還是我們后面會(huì)講到的創(chuàng)建型模式--《抽象工廠模式》來解決吧。

  如果您并不知道工廠模式是用來干什么的,我們可以通過如下舉例來說明,例如我們現(xiàn)在有個(gè)礦泉水加工廠,加工礦泉水,我們現(xiàn)在知道有礦泉水這個(gè)對(duì)象,那么當(dāng)我批量生產(chǎn)礦泉水的時(shí)候,我們就通過工廠來批量的生產(chǎn),等于我們程序中的批量創(chuàng)建對(duì)象。這時(shí)候我有很多個(gè)對(duì)象,也就是很多游客,他們每人都要一瓶礦泉水,這時(shí)候如果說把游客比作不同的應(yīng)用程序模塊,都要使用礦泉水這個(gè)對(duì)象,那么我是不是應(yīng)該每個(gè)應(yīng)用程序都在使用這個(gè)對(duì)象的時(shí)候,我使用new()操作呢?,無疑這不是一個(gè)好的方案。我們來看看圖形化的描述吧?

image  這種情況下,不同的游客需要礦泉水的時(shí)候,我就new()一個(gè)礦泉水和我找個(gè)加工廠生產(chǎn)礦泉水明顯是有差別的,這個(gè)時(shí)候,游客不應(yīng)該和礦泉水有關(guān)聯(lián)關(guān)系了,而且游客不知道,礦泉水是怎么生產(chǎn)出來的,也不需要關(guān)心這些東西。

  那么我們應(yīng)該如何去解決這樣的問題呢?基于面向?qū)ο蟮淖兂稍O(shè)計(jì)時(shí),原則就是低耦合,對(duì)象和對(duì)象之間。那么對(duì)象之間的引用關(guān)系,可以通過抽象出接口,通過借口的依賴來解耦,降低系統(tǒng)的耦合性。        image  假如這個(gè)時(shí)候我修改對(duì)象服務(wù)的名稱,那么我是不是必須把所有的調(diào)用這個(gè)對(duì)象服務(wù)應(yīng)用程序代碼都進(jìn)行修改?這個(gè)是必須的,否則程序無法編譯通過的。但是如果我們使用工廠模式的時(shí)候呢?有什么不同呢?我們來看看:        image  上面是添加了工廠模式之后的情況,上面就算是你修改了類名之后,只需要修改工廠中的New出來的類即可,當(dāng)然如果你要是通過返回接口的形式的話,再不修改接口命名的前提下,如何修改類方法都是可行的,并且通過工廠模式,無疑降低了應(yīng)用程序與對(duì)象之間的耦合性,通過工廠來解耦,提供程序的應(yīng)對(duì)變化的適應(yīng)能力。

  4.2、工廠模式的使用場景

  工廠模式一般用于創(chuàng)建一類對(duì)象,而不用每次在使用時(shí)通過new()對(duì)象才能使用對(duì)象,而是通過工廠來完成對(duì)象的創(chuàng)建,這樣不但提供了統(tǒng)一創(chuàng)建對(duì)象的入口,而且對(duì)于程序的可維護(hù)和可測試性都有很大的提高。總體來說如下場景使用工廠模式非常合適:

  1、工廠負(fù)責(zé)創(chuàng)建某一類對(duì)象的時(shí)候,或者說工廠的職責(zé)比較單一時(shí),如果說多個(gè)類型的對(duì)象時(shí)候,用工廠模式就不如使用抽象工廠了

  2、一般比較少的積累對(duì)象,可以通過類型的判定創(chuàng)建不同的對(duì)象時(shí),也是可以通過工廠模式來完成,例如多數(shù)據(jù)庫的支持,我們?cè)谠O(shè)計(jì)數(shù)據(jù)訪問層時(shí),利用簡單對(duì)象工廠,通過枚舉或者配置文件的形式,來動(dòng)態(tài)的創(chuàng)建數(shù)據(jù)訪問層實(shí)例。

  3、一般來說類型單一的對(duì)象,或者類型比較少的時(shí)候,使用工廠模式來創(chuàng)建對(duì)象可以解決一類問題。還可以通過一個(gè)總的工廠,來創(chuàng)建多個(gè)工廠,然后多個(gè)工廠負(fù)責(zé)創(chuàng)建相應(yīng)的實(shí)例,有點(diǎn)類似我們平時(shí)說的目錄結(jié)構(gòu)似的。

  類似如下的形式,大家一看就明白了:          image  等于是不同層級(jí)的工廠,具有不同的職責(zé)和任務(wù)。

  五、工廠模式的實(shí)現(xiàn)方案

  5.1、工廠模式的配置文件實(shí)現(xiàn)。

  我們先看配置文件的配置內(nèi)容:

<DatabaseInfo>
<ConnKey>default</ConnKey>
<DataBaseType>MSSQLServer</DataBaseType>
</DatabaseInfo>

it知識(shí)庫系統(tǒng)架構(gòu)技能之設(shè)計(jì)模式—工廠模式,轉(zhuǎn)載需保留來源!

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

主站蜘蛛池模板: 久久毛片免费看一区二区三区 | 中文字幕中文字幕永久免费 | 樱桃视频影院在线播放 | 一本色道久久88加勒比—综合 | 亚洲乱码中文字幕久久孕妇黑人 | 一边吃奶一边添P好爽故事 一边吃奶一边啪啪真舒服 一本之道加勒比在线观看 一本之道高清在线观看一区 | 91精品国产91热久久p | ae58老司机福利| 国内精品免费视频精选在线观看 | 夜夜女人国产香蕉久久精品 | 99久久网站 | 美女扒开腿让男生桶免费看动态图 | 狂野欧美性猛XXXX乱大交 | 美女用手扒开粉嫩的屁股 | 久久综合色一综合色88 | 中国少妇内射XXXHD免费 | 久久性色AV亚洲电影无码 | 亚洲免费成人 | 邪恶肉肉全彩色无遮盖 | 97欧美精品大香伊蕉在人线 | 鞋奴的视频VK | A级毛片无码久久精品免费 a级毛片黄免费a级毛片 | 18禁无遮挡羞羞污污污污免费 | 国产在线播放91 | 免费A级毛片无码无遮挡 | 阿娇和冠希13分钟在线观看 | 国产成人精品在视频 | 亚洲人美女肛交真人全程 | 约艺术院校96年清纯白嫩 | 99久久精品免费精品国产 | 亚洲爆乳无码精品AAA片蜜桃 | 午夜在线观看免费观看 视频 | xnxx高中生| 久久国产乱子伦免费精品 | 黑丝袜论坛 | 免费果冻传媒2021在线观看 | 少妇无码吹潮久久精品AV | 性一交一乱一色一视频 | 99久久热视频只有精品 | 日本在线高清不卡免费播放 | 德国美女密密麻麻浓毛 |