亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        在DAL使用簡(jiǎn)單工廠設(shè)計(jì)模式的設(shè)計(jì)

        2013-12-31 00:00:00高祖彥
        數(shù)字化用戶 2013年26期

        【摘 要】本文從面向?qū)ο蟮慕嵌瘸霭l(fā),簡(jiǎn)單介紹了計(jì)算機(jī)軟件中設(shè)計(jì)模式的使用,從簡(jiǎn)單工廠設(shè)計(jì)模式的概念和其結(jié)構(gòu)以及用途進(jìn)行解析,重點(diǎn)講解抽象工廠設(shè)計(jì)模式在軟件開(kāi)發(fā)過(guò)程中的作用和好處,通過(guò)一些實(shí)例來(lái)說(shuō)明簡(jiǎn)單工廠設(shè)計(jì)模式的特點(diǎn)。

        【關(guān)鍵詞】面向?qū)ο?簡(jiǎn)單工廠 設(shè)計(jì)模式

        一、引言

        隨著社會(huì)的不斷進(jìn)步,科技的不斷發(fā)展,當(dāng)今社會(huì)所需求的各種軟件應(yīng)用層出不窮,所以符合時(shí)代需求的軟件工程師越來(lái)越多。在面向?qū)ο笤O(shè)計(jì)領(lǐng)域,我們知道很多出色的前輩總結(jié)了不少經(jīng)驗(yàn),從而形成設(shè)計(jì)模式,本文從主要通過(guò)一個(gè)簡(jiǎn)單的例子探討了簡(jiǎn)單工廠的使用與作用。

        二、C#中的接口

        (一)接口的概念

        接口就是一種特殊的抽象類,跟一般的抽象類相比,接口里面的所有方法都是抽象方法,接口里面的所有屬性都是常量。也就是說(shuō),接口里面是只有方法定義而不會(huì)有任何方法實(shí)現(xiàn)。

        (二)接口作用

        在學(xué)習(xí)面向?qū)ο笳Z(yǔ)言時(shí),我們都知道通常用接口來(lái)定義實(shí)現(xiàn)類的外觀,也就是實(shí)現(xiàn)類的行為定義,用來(lái)約束實(shí)現(xiàn)類的行為。使用接口,可以實(shí)現(xiàn)不相關(guān)類的相同行為,而不需考慮這些類之間的層次關(guān)系,接口就是實(shí)現(xiàn)類對(duì)外的外觀。

        (三)使用接口的好處

        由于外部調(diào)用和內(nèi)部實(shí)現(xiàn)被接口隔離開(kāi)了,那么只要接口不變,內(nèi)部實(shí)現(xiàn)的變化就不會(huì)影響到外部應(yīng)用,從而使得系統(tǒng)更靈活,具有更好的擴(kuò)展性和可維護(hù)性,這也就是所謂“接口是系統(tǒng)可插拔性的保證”這句話的意思。

        三、設(shè)計(jì)模式

        (一)設(shè)計(jì)模式的定義

        一般的定義是一套被反復(fù)使用、多數(shù)人知曉的、經(jīng)過(guò)分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。

        (二)設(shè)計(jì)模式的作用

        使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代 碼可靠性。

        毫無(wú)疑問(wèn),設(shè)計(jì)模式于己于他人于系統(tǒng)都是多贏的,設(shè)計(jì)模式使代碼編制真正工程化,設(shè)計(jì)模式是軟件工程的基石脈絡(luò),如同大廈的結(jié)構(gòu)一樣。

        四、簡(jiǎn)單工廠設(shè)計(jì)模式

        (一)簡(jiǎn)單工廠的定義

        通俗的理解它就是提供了一個(gè)創(chuàng)建實(shí)例功能,而無(wú)須關(guān)心其具體實(shí)現(xiàn),有一系列功能及其相似的產(chǎn)品,在客戶看來(lái)完全可以互相替代。當(dāng)然被創(chuàng)建的實(shí)例的類型可以是接口、抽象類、同時(shí)也可以是具體的類。

        (二)簡(jiǎn)單工廠模式角色和結(jié)構(gòu)

        簡(jiǎn)單工廠模式就是一個(gè)工廠類根據(jù)傳入的參數(shù)創(chuàng)建出符合參數(shù)的產(chǎn)品類的實(shí)例,以一個(gè)簡(jiǎn)單實(shí)例說(shuō)明問(wèn)題,簡(jiǎn)單工廠模式涉及到抽象產(chǎn)品角色、具體產(chǎn)品角色和工廠角色等三個(gè)角色。

        抽象產(chǎn)品(Product)角色:

        定義客戶所需要的功能接口,抽象產(chǎn)品角色可以用一個(gè)java接口或者java抽象類實(shí)現(xiàn)。

        具體產(chǎn)品(ConcreteProduct)角色:

        具體實(shí)現(xiàn)抽象產(chǎn)品的實(shí)現(xiàn)類,可能會(huì)有多個(gè)具體產(chǎn)品,簡(jiǎn)單工廠模式所創(chuàng)建的任何對(duì)象都是這個(gè)角色的實(shí)例,它由一個(gè)具體java類實(shí)現(xiàn)。

        工廠類(Creator)角色:

        選擇合適的實(shí)現(xiàn)類來(lái)創(chuàng)建抽象產(chǎn)品接口對(duì)象。工廠類在客戶端的直接調(diào)用下創(chuàng)建產(chǎn)品對(duì)象,它往往由一個(gè)C#具體類實(shí)現(xiàn)。

        下面就看一個(gè)例子,我們會(huì)通常都是在客戶端Client創(chuàng)建一個(gè)實(shí)現(xiàn)類Impl的實(shí)例,把它賦值給一個(gè)接口APi類型的變量,然后客戶端就可以通過(guò)這個(gè)變量來(lái)操作接口的功能了。

        此時(shí)我們采用實(shí)現(xiàn)類創(chuàng)建一個(gè)接口對(duì)象,Api api = new Impl();然而我們都知道接口的思想是“封裝隔離”,而Impl這個(gè)實(shí)現(xiàn)類,應(yīng)該是被接口Api封裝并同客戶端隔離開(kāi)的,也就是說(shuō),客戶端根本就不應(yīng)該知道具體的實(shí)現(xiàn)類是Impl。所以我們使用簡(jiǎn)單工廠模式來(lái)完成這個(gè)工作。

        我們?cè)谥肋@個(gè)類以后,只需要在需要運(yùn)算時(shí)用這個(gè)工廠類創(chuàng)建相應(yīng)的對(duì)象,而不必每一次做運(yùn)算時(shí)都需要重復(fù)這些代碼,它才是真正實(shí)現(xiàn)面向接口編程的好方法。

        (三)簡(jiǎn)單工廠模式的特點(diǎn)

        簡(jiǎn)單工廠模式的創(chuàng)建目標(biāo),所有創(chuàng)建的對(duì)象都是充當(dāng)這個(gè)角色的某個(gè)具體類的實(shí)例。在這個(gè)模式中,工廠類是整個(gè)模式的關(guān)鍵所在。它包含必要的判斷邏輯,能夠根據(jù)外界給定的信息,決定究竟應(yīng)該創(chuàng)建哪個(gè)具體類的對(duì)象。用戶在使用時(shí)可以直接根據(jù)工廠類去創(chuàng)建所需的實(shí)例,而無(wú)需了解這些對(duì)象是如何創(chuàng)建以及如何組織的。有利于整個(gè)軟件體系結(jié)構(gòu)的優(yōu)化。

        不難發(fā)現(xiàn),簡(jiǎn)單工廠模式的缺點(diǎn)也正體現(xiàn)在其工廠類上,由于工廠類集中了所有實(shí)例的創(chuàng)建邏輯,所以“高內(nèi)聚”方面做的并不好。另外,當(dāng)系統(tǒng)中的具體產(chǎn)品類不斷增多時(shí),可能會(huì)出現(xiàn)要求工廠類也要做相應(yīng)的修改,擴(kuò)展性并不很好。

        五、結(jié)論

        簡(jiǎn)單工廠模式的實(shí)質(zhì)是由一個(gè)工廠類根據(jù)傳入的參數(shù),動(dòng)態(tài)決定應(yīng)該創(chuàng)建哪一個(gè)產(chǎn)品類的實(shí)例。在實(shí)際運(yùn)用中,由于可行的系統(tǒng)都是比較復(fù)雜而且比較龐大的系統(tǒng),用到的設(shè)計(jì)模式都比較復(fù)雜,而簡(jiǎn)單工廠設(shè)計(jì)模式是一個(gè)簡(jiǎn)單而且基礎(chǔ)的設(shè)計(jì)模式,所以它會(huì)在較為復(fù)雜的設(shè)計(jì)模式中出現(xiàn)。作為剛剛接觸軟件開(kāi)發(fā)的初級(jí)技術(shù)人員,有必要了解和學(xué)習(xí)最基礎(chǔ)的設(shè)計(jì)模式,這樣才能在以后開(kāi)發(fā)大型軟件使用設(shè)計(jì)模式時(shí)靈活而且用法豐富多彩。同時(shí)掌握基礎(chǔ)的簡(jiǎn)單工廠設(shè)計(jì)模式有利于增強(qiáng)初學(xué)者對(duì)軟件開(kāi)發(fā)的認(rèn)識(shí)和了解。

        參考文獻(xiàn):

        [1]程杰.大話設(shè)計(jì)模式.北京:清華大學(xué)出版社,2007.12 .

        [3]閻宏.Java與設(shè)計(jì)模式.北京:電子工業(yè)出版社,2002.10 .

        作者簡(jiǎn)介:高祖彥 ,男(漢),1979年10月生,山東棗莊,現(xiàn)為恩施職業(yè)技術(shù)學(xué)院計(jì)算機(jī)與信息工程系講師,理學(xué)學(xué)位,計(jì)算機(jī)軟件開(kāi)發(fā)專業(yè),主要研究方向:計(jì)算機(jī)軟件技術(shù),計(jì)算機(jī)數(shù)據(jù)庫(kù)技術(shù)

        国产乱子伦精品免费无码专区| 蜜桃18禁成人午夜免费网站| 亚洲欧美日韩精品久久| 妓院一钑片免看黄大片| 欧美日韩精品一区二区三区高清视频| 国产内射视频在线观看| 亚洲一区二区三区2021| 国产精品久久国产精品99| 精品国产高清a毛片无毒不卡| 日本一区二区三区小视频| 婷婷久久av综合一区二区三区| 久久不见久久见免费影院| 99久久免费看少妇高潮a片特黄| 人妻系列影片无码专区| 新久久国产色av免费看| 不卡av电影在线| 国产喷水福利在线视频| 国产日韩亚洲中文字幕| 成人av蜜桃在线观看| 免费无码毛片一区二区app| 国产美女免费国产| 国产成版人性视频免费版| 好大好爽我要高潮在线观看| 免费99精品国产自在在线| 精品国产亚洲一区二区三区演员表 | 久久久久久久综合狠狠综合| 1234.com麻豆性爰爱影| 中文国产乱码在线人妻一区二区| 五月丁香综合激情六月久久| 91精选视频在线观看| 亚洲午夜精品国产一区二区三区| 亚洲一区二区三区内裤视| 精品人妻人人做人人爽夜夜爽| 在线亚洲AV不卡一区二区 | 久久天天躁夜夜躁狠狠85麻豆| 国产国语熟妇视频在线观看| 亚洲欧美在线视频| 国产一区二区av在线免费观看| 亚洲av无码乱码国产精品| 国产剧情福利AV一区二区| 精品亚洲av一区二区|