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

        ?

        設(shè)計(jì)模式在軟件開發(fā)中的應(yīng)用

        2012-12-31 00:00:00李雋

        摘 要:介紹了以面向?qū)ο蠹夹g(shù)為基礎(chǔ)的軟件設(shè)計(jì)模式的基本概念及分類,舉例說明了設(shè)計(jì)模式在軟件設(shè)計(jì)中的意義,強(qiáng)調(diào)了其在軟件教學(xué)中作用。

        關(guān)鍵詞:設(shè)計(jì)模式 面向?qū)ο?模式使用

        中圖分類號(hào):TB562.4文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2012)03(a)-0039-01

        引言

        設(shè)計(jì)面向?qū)ο蟮能浖容^困難,而設(shè)計(jì)可重用的面向?qū)ο蟮能浖t更加困難。首先必須找出目標(biāo)對(duì)象,按照合適的條件規(guī)入類,并為類定義接口和層次,及在類之間建立合適的關(guān)系。設(shè)計(jì)必須能解決當(dāng)前的問題,而且要有一定的通用性以滿足未來的需求,盡量的避免重新設(shè)計(jì)。沒有經(jīng)驗(yàn)的新手常常在選擇中猶豫不決,導(dǎo)致他們采用用過的非對(duì)象技術(shù)。設(shè)計(jì)模式的出現(xiàn)使得重用成功的設(shè)計(jì)和架構(gòu)更為容易。設(shè)計(jì)模式能夠幫助設(shè)計(jì)人員選擇那些可重用的設(shè)計(jì)。通過對(duì)類、對(duì)象交互及其深層次意圖的詳細(xì)說明,設(shè)計(jì)模式甚至能提高現(xiàn)有系統(tǒng)的可維護(hù)性和文檔質(zhì)量。簡(jiǎn)言之,設(shè)計(jì)模式能幫助更快的作出正確的設(shè)計(jì)。

        1 設(shè)計(jì)模式概述

        1.1 設(shè)計(jì)模式概念

        設(shè)計(jì)模式通常描述了一組相互緊密作用的類與對(duì)象。設(shè)計(jì)模式提供一種討論軟件設(shè)計(jì)的公共語(yǔ)言,使得熟練設(shè)計(jì)者的設(shè)計(jì)經(jīng)驗(yàn)可以被初學(xué)者和其他設(shè)計(jì)者掌握。它實(shí)際是一套被反復(fù)使用、大家共曉的、經(jīng)過分類編目的、代碼設(shè)計(jì)經(jīng)驗(yàn)的總結(jié)。使用設(shè)計(jì)模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性。是對(duì)面向?qū)ο笤O(shè)計(jì)中反復(fù)出現(xiàn)的問題的解決方案。

        1.2 設(shè)計(jì)模式的分類

        (1)創(chuàng)建型:與對(duì)象創(chuàng)建有關(guān)。(2)結(jié)構(gòu)型:處理類或?qū)ο蟮慕M合。(3)行為型:描述類或?qū)ο笕绾谓换ゼ叭绾畏峙渎氊?zé)。

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

        (1)重用設(shè)計(jì),重用設(shè)計(jì)比重用代碼更有意義,它會(huì)自動(dòng)帶來代碼的重用。(2)為設(shè)計(jì)提供共用的詞匯,每個(gè)模式名就是一個(gè)設(shè)計(jì)詞匯,其概念使得程序員間的交流更加方便。(3)在開發(fā)文檔中采用模式詞匯可以讓其他人更容易理解你的想法,理解為什么你會(huì)這樣做,你都做了些什么。編寫開發(fā)文檔也更加容易。(4)應(yīng)用設(shè)計(jì)模式可以讓重構(gòu)系統(tǒng)變得容易,可確保開發(fā)正確的代碼,并降低在設(shè)計(jì)或?qū)崿F(xiàn)中出現(xiàn)錯(cuò)誤的可能性,還可以為重寫其他應(yīng)用程序提供很好的系統(tǒng)框架。(5)正確使用設(shè)計(jì)模式,可以節(jié)省大量的時(shí)間。

        3 軟件設(shè)計(jì)中的設(shè)計(jì)模式應(yīng)用

        以C#中新聞閱讀器為例,新聞閱讀器支持RSS/Atom 兩種格式,在教學(xué)中,分析得到使用XML技術(shù)完成了“新聞快客”抓取RSS格式的頻道新聞功能,事實(shí)上,在互聯(lián)網(wǎng)上還有另外一種新聞聚合格式 Atom,很多大型網(wǎng)站往往都會(huì)提供RSS+Atom兩種格式的頻道訂閱方式。例如Google網(wǎng)站的新聞板塊就支持Atom格式的新聞?dòng)嗛?。我們就不得不考慮如何讓“新聞快客”支持Atom格式的頻道訂閱。而Atom格式與RSS格式的區(qū)別使得我們不得不定義兩個(gè)不同類,在使用對(duì)象時(shí)根據(jù)不同類分別創(chuàng)建不同實(shí)例。這種常規(guī)教學(xué)中的程序設(shè)計(jì)能夠?qū)崿F(xiàn)相關(guān)功能。但使用設(shè)計(jì)模式將更有利于這一結(jié)構(gòu)問題的實(shí)現(xiàn)。

        簡(jiǎn)單工廠模式是工廠模式中最簡(jiǎn)單的一種模式,也是設(shè)計(jì)模式中最基本的一種模式,也就是在某一個(gè)工廠類中,定義一系列的不同方法,每一個(gè)方法能夠創(chuàng)建出某一個(gè)具體類的實(shí)例,這種無參的工廠方法,只要存在需要實(shí)例化的實(shí)體類的時(shí)候,就要在工廠類中增加一個(gè)創(chuàng)建的方法。這種實(shí)現(xiàn)方式的優(yōu)點(diǎn)是,我們可以通過這個(gè)唯一的工廠類來管理整個(gè)應(yīng)用中所有的對(duì)象的創(chuàng)建。大大增強(qiáng)了的 交流能力。具體到我們的新聞閱讀器系統(tǒng)就是添加了一個(gè)FeedFactory類用于創(chuàng)建不同類的實(shí)例,如果增加其他的頻道類型,你只需修改FeedFactory類,工廠的調(diào)用者無須任何改變,簡(jiǎn)化了系統(tǒng)的維護(hù)。這樣做提高代碼效率,方便維護(hù)。而且,調(diào)用者也不需要知道所創(chuàng)建的實(shí)例對(duì)象屬于哪個(gè)子類。主要代碼如下:

        class FeedFactory

        { public FeedFactory() { }

        public static FeedBase CreateFeed(string title, string url, string desc)

        { FeedBase ret;//定義一個(gè)Feed基類

        try

        { WebClient myClient = new WebClient();

        myClient.DownloadFile(url, \"unknown.feed\");

        XmlDocument myXml = new XmlDocument();

        myXml.Load(\"unknown.feed\");

        XmlNode rootNode = myXml.DocumentElement;

        switch (rootNode.Name.ToLower())

        { case \"rss\": ret = new RssFeed(title, url, desc); break;

        case \"feed\": ret = new AtomFeed(title, url, desc); break;

        default: ret = 1; break; }

        return ret; }

        catch (Exception) { throw new Exception(); } } }

        4 結(jié)語(yǔ)

        由以上例子課件在早期的軟件基礎(chǔ)教學(xué)中主要強(qiáng)調(diào)面向?qū)ο蠹夹g(shù)中的各種概念來實(shí)現(xiàn)相關(guān)系統(tǒng)功能。隨著軟件開發(fā)群體對(duì)設(shè)計(jì)模式認(rèn)識(shí)的日益深入,設(shè)計(jì)模式可以提高軟件的復(fù)用性,使得我們編寫的軟件更易于擴(kuò)展,更容易適應(yīng)需求的變化,設(shè)計(jì)模式是面向?qū)ο笤趯?shí)際應(yīng)用中的集體體現(xiàn),簡(jiǎn)單工廠模式只是我們認(rèn)識(shí)設(shè)計(jì)模式的一個(gè)開始,我們可以通過更深層次的課程,進(jìn)一步學(xué)習(xí)更多的設(shè)計(jì)模式,進(jìn)而更好的和社會(huì)中的軟件設(shè)計(jì)需求想適應(yīng)。

        時(shí)至今日,在可復(fù)用面向?qū)ο筌浖陌l(fā)展過程中,新的設(shè)計(jì)模式仍然不斷出現(xiàn)。熟悉這些模式的設(shè)計(jì)者可以立即將其應(yīng)用到設(shè)計(jì)中而不需要重新發(fā)現(xiàn)它們。

        參考文獻(xiàn)

        [1]Alan Shaioway,James R.Trotr著,設(shè)計(jì)模式解析[M]:人民郵電出版社,2006.

        [2]劉振安,董蘭芳,劉燕君.面向?qū)ο蠹夹g(shù)與UML.機(jī)械工業(yè)出版社,2007.

        [3]孫衛(wèi)琴.Tomcat 與 Java Web開發(fā)技術(shù)詳解[M] 電子工業(yè)出版社.

        [4](美)弗里曼(Freeman,E.)等著Oreily Taiwan公司譯 head first 設(shè)計(jì)模式[M]:中國(guó)電力出版社,2007-9-1.

        欧美大屁股xxxx高潮喷水| 国产精品久久久三级18| 亚洲女同恋av中文一区二区| 亚洲成人中文字幕在线视频| 内地老熟女老少配视频| 伊人久久大香线蕉av一区| 无尽动漫性视频╳╳╳3d| 欧美一区波多野结衣第一页| 免费观看激色视频网站| 亚洲国产人在线播放首页| 亚洲成a人网站在线看| 久久久精品亚洲懂色av| 精品国产精品久久一区免费| 伊人久久大香线蕉av最新午夜| 性av一区二区三区免费| 亚洲av中文无码乱人伦在线咪咕| 青青久在线视频免费观看| 亚洲成aⅴ人在线观看| 亚洲AV无码乱码1区久久| 国产精品国产午夜免费福利看| 91久久精品一区二区三区大全| 精品国产亚洲av麻豆| 久久久亚洲精品一区二区三区| 香港日本三级亚洲三级| 国产系列丝袜熟女精品视频| 中文字幕视频一区二区| 国产成人无码a在线观看不卡| 男ji大巴进入女人的视频小说| 性大片免费视频观看| 五月天婷婷综合网| 亚洲AⅤ乱码一区二区三区| 丰满熟女人妻一区二区三区| 手机久草视频福利在线观看| 手机看黄av免费网址| 人人妻人人澡人人爽人人精品| 亚洲精品国产福利在线观看| 亚洲国产精品婷婷久久| 40岁大乳的熟妇在线观看| 免费大片黄在线观看| 国产精品一区2区三区| 久久本道久久综合一人|