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

        ?

        設(shè)計(jì)模式在移動(dòng)智能系統(tǒng)中的應(yīng)用研究

        2012-11-17 05:27:12何偉文
        關(guān)鍵詞:日程設(shè)計(jì)模式實(shí)例

        何偉文

        (廣州科技職業(yè)技術(shù)學(xué)院電子信息系,廣東廣州 510540)

        設(shè)計(jì)可重用的面向?qū)ο蟮能浖潜容^困難的。沒有經(jīng)驗(yàn)的開發(fā)人員常常在選擇中猶豫不決,導(dǎo)致他們采用了非對(duì)象技術(shù)。設(shè)計(jì)模式的出現(xiàn)使得重用成功的設(shè)計(jì)和架構(gòu)更為容易。設(shè)計(jì)模式能夠幫助設(shè)計(jì)人員選擇那些可重用的設(shè)計(jì)。通過(guò)對(duì)類、對(duì)象交互及其深層次意圖的詳細(xì)說(shuō)明,設(shè)計(jì)模式甚至能提高現(xiàn)有系統(tǒng)的可維護(hù)性和文檔質(zhì)量。簡(jiǎn)言之,設(shè)計(jì)模式能幫助更快的作出正確的設(shè)計(jì),它同樣可以在移動(dòng)智能系統(tǒng)中加以應(yīng)用。

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

        1.1 簡(jiǎn)介

        1995 年,由著名的“四人組”GOF(Gang of Four)合著的《設(shè)計(jì)模式——可復(fù)用面向?qū)ο筌浖幕A(chǔ)》列舉了軟件開發(fā)中的23種經(jīng)典設(shè)計(jì)模式。時(shí)至今日,對(duì)整個(gè)軟件開發(fā)行業(yè)影響深遠(yuǎn)。在軟件開發(fā)中,經(jīng)過(guò)無(wú)數(shù)開發(fā)人員驗(yàn)證、而且可以解決在特定環(huán)境下、重復(fù)出現(xiàn)、特定問(wèn)題的解決方案就是設(shè)計(jì)模式。使用設(shè)計(jì)模式是為了可重用代碼,而且模式是經(jīng)過(guò)驗(yàn)證的代碼模版,可以達(dá)到代碼更容易讓人理解、也保證了代碼的高可靠性。設(shè)計(jì)模式是軟件行業(yè)中革命性的成果,是無(wú)數(shù)開發(fā)前輩智慧的結(jié)晶,這些模式不僅是經(jīng)驗(yàn)的積累也是簡(jiǎn)潔高效的解決方案,它覆蓋了軟件開發(fā)中具有典型的、有代表性的問(wèn)題,而且這些模式同樣可以應(yīng)用于移動(dòng)智能系統(tǒng)的開發(fā)。

        1.2 分類

        設(shè)計(jì)模式根據(jù)模式的目的可分為3大類:(1)創(chuàng)建型模式(2)結(jié)構(gòu)性模式(3)行為性模式

        每一大類又有若干子類,下面結(jié)合實(shí)例重點(diǎn)闡述--抽象工廠模式 (Abstract Factory)在移動(dòng)應(yīng)用系統(tǒng)中的應(yīng)用與改進(jìn)。

        2 抽象工廠模式(Abstract Factory)

        2.1 基本概念

        每個(gè)模式都是針對(duì)一定問(wèn)題的解決方案。抽象工廠模式面對(duì)的問(wèn)題是多產(chǎn)品等級(jí)結(jié)構(gòu)的系統(tǒng)設(shè)計(jì)。它包括兩個(gè)重要的概念:產(chǎn)品族和產(chǎn)品等級(jí)。

        圖1 多產(chǎn)品等級(jí)結(jié)構(gòu)

        產(chǎn)品族:是指位于不同產(chǎn)品等級(jí)結(jié)構(gòu)中,功能相關(guān)聯(lián)的產(chǎn)品組成的家族。比如AMD的CPU和ADM芯片的主板,組成一個(gè)家族。Intel的CPU和Intel芯片的主板,又組成一個(gè)家族。而這兩個(gè)家族都來(lái)自于兩個(gè)產(chǎn)品等級(jí):CPU,主板。一個(gè)等級(jí)結(jié)構(gòu)是由相同的結(jié)構(gòu)的產(chǎn)品組成,示意圖如圖1:

        從上圖可以看出,抽象工廠模式的每個(gè)工廠創(chuàng)造出來(lái)的都是一族產(chǎn)品,而不是一個(gè)或者一組。組是可以隨意組合的! 抽象工廠模式是提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定它們具體類。

        2.2 UML結(jié)構(gòu)圖

        我們先看一下抽象工廠模式的UML結(jié)構(gòu)圖:(圖2)

        圖2 抽象工廠模式UML圖

        ConcreteProduct:包括 ProductA和 ProductB,對(duì)兩個(gè)抽象產(chǎn)品的具體分類的實(shí)現(xiàn)。AbstractFactory:抽象工廠接口,它里面應(yīng)該包含所有的產(chǎn)品創(chuàng)建的抽象方法。ConcreteFactory:包括ConcreteFactoryA和ConcreteFactoryB,具體的工廠,創(chuàng)建具有特定實(shí)現(xiàn)的產(chǎn)品對(duì)象。

        2.3 抽象工廠模式在移動(dòng)智能系統(tǒng)中的實(shí)現(xiàn)

        本文以基于Android平臺(tái)使用三層結(jié)構(gòu)開發(fā)的一個(gè)移動(dòng)智能應(yīng)用系統(tǒng),在數(shù)據(jù)訪問(wèn)層使用抽象工廠設(shè)計(jì)模式為例,深入研究對(duì)數(shù)據(jù)訪問(wèn)、業(yè)務(wù)邏輯、用戶接口進(jìn)行分離的技術(shù)。

        2.3.1 系統(tǒng)需求

        這個(gè)系統(tǒng)是一款集日程管理、定位追蹤、防盜于一體的手機(jī)軟件。其中的日程管理功能需求是對(duì)添加的日程要存儲(chǔ)在數(shù)據(jù)庫(kù)中;退出程序后再重新打開,日程數(shù)據(jù)要從數(shù)據(jù)庫(kù)中讀取,然后把數(shù)據(jù)填充到ListView中。日程提醒功能可以啟動(dòng)一個(gè)Activity,彈出對(duì)話框并提示當(dāng)前日程的內(nèi)容信息。具體實(shí)現(xiàn)如圖3、4

        圖3 日程列表界面

        圖4 日程提醒界面

        2.3.2 系統(tǒng)架構(gòu)設(shè)計(jì)系統(tǒng)的層次結(jié)構(gòu)圖如圖6

        圖5系統(tǒng)的層次結(jié)構(gòu)圖

        結(jié)構(gòu)圖的最頂層是表現(xiàn)層,它直接跟用戶打交道,而不直接與數(shù)據(jù)庫(kù)進(jìn)行交互。在這里,我們使用了抽象工廠模式,把創(chuàng)建數(shù)據(jù)庫(kù)訪問(wèn)層實(shí)例的過(guò)程與業(yè)務(wù)層進(jìn)行了分離,業(yè)務(wù)層只能通過(guò)抽象接口的實(shí)現(xiàn)對(duì)象進(jìn)行數(shù)據(jù)的操作,使得業(yè)務(wù)層只認(rèn)識(shí)數(shù)據(jù)訪問(wèn)的抽象接口。而該接口的實(shí)現(xiàn)類對(duì)象由工廠對(duì)象來(lái)生成,這樣,層與層之間不依賴于具體的數(shù)據(jù)類型,實(shí)現(xiàn)了層與層之間的解耦[6]。

        2.3.3 系統(tǒng)架構(gòu)實(shí)現(xiàn)

        下面我們遵循"抽象工廠模式"的設(shè)計(jì)思想,實(shí)現(xiàn)這個(gè)移動(dòng)智能應(yīng)用系統(tǒng)。

        2.3.3.1 數(shù)據(jù)庫(kù)訪問(wèn)層DAL

        (1)抽象數(shù)據(jù)庫(kù)訪問(wèn)層IDAL的接口模板。該模板聲明了最基本的數(shù)據(jù)庫(kù)增、刪、改、查功能,主要代碼如下:

        (2)抽象工廠接口編寫。這里只需要用到一個(gè)數(shù)據(jù)訪問(wèn)提供程序createSchedul e-Provider:

        (3)、DAL層的實(shí)現(xiàn)

        首先定義基本提供程序SQLiteBaseProvider把數(shù)據(jù)訪問(wèn)提供程序共有的部分抽象出來(lái),然后添加一個(gè)類ScheduleProvider,它繼承SQLiteBaseProvider并實(shí)現(xiàn) IDALSchedule,以實(shí)現(xiàn)數(shù)據(jù)訪問(wèn)中的增、刪、改、查操作。主要代碼如下:

        (4)、具體工廠的實(shí)現(xiàn)

        當(dāng)封裝好了對(duì)數(shù)據(jù)庫(kù)進(jìn)行訪問(wèn)的操作后,通過(guò)具體工廠提供ScheduleProvider的實(shí)例,實(shí)現(xiàn)面向接口的編程,也就實(shí)現(xiàn)了業(yè)務(wù)層和數(shù)據(jù)層之間的解耦。主要代碼如下:

        2.3.3.2 業(yè)務(wù)邏輯層BLL

        業(yè)務(wù)邏輯層的設(shè)計(jì)是通過(guò)具體工廠獲得數(shù)據(jù)訪問(wèn)提供程序的實(shí)例,并賦值給i-DALSchedule接口,從而使得對(duì)數(shù)據(jù)的操作都通過(guò)這個(gè)抽象接口來(lái)進(jìn)行,例如:iDALSchedule.selectAll()。主要代碼如下:

        2.3.3.3 表現(xiàn)層UI

        Schedule類實(shí)現(xiàn)了OnItemClickListener接口,并實(shí)現(xiàn)了對(duì)ListView的Item單擊事件的監(jiān)聽。主要代碼如下:

        結(jié)語(yǔ)

        綜上所述,抽象工廠設(shè)計(jì)模式在移動(dòng)智能系統(tǒng)開發(fā)中具有以下的優(yōu)點(diǎn):第一,易于交換產(chǎn)品系列,由于具體工廠類,在一個(gè)應(yīng)用中只需要在初始化的時(shí)候出現(xiàn)一次,這就使得改變一個(gè)應(yīng)用的具體工廠變得非常容易。第二,它讓具體的創(chuàng)建實(shí)例與客戶端分離,客戶端是通過(guò)它們的抽象接口操縱實(shí)例,產(chǎn)品的具體類名也被具體工廠的實(shí)現(xiàn)分離,不會(huì)出現(xiàn)在客戶端代碼中。抽象工廠模式只是我們認(rèn)識(shí)設(shè)計(jì)模式的一個(gè)開始,我們可以通過(guò)更深層次的研究,進(jìn)一步設(shè)計(jì)出更多的設(shè)計(jì)模式,進(jìn)而更好的適應(yīng)軟件設(shè)計(jì)需求與發(fā)展。

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

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

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

        [4]李寧,Android 開發(fā)權(quán)威指南[M],北京:人民郵電出版社,2011-09-01

        [5](美)羅杰,Android應(yīng)用開發(fā) (李耀亮譯)[M],北京:人民郵電出版社,2010-09-01

        [6]Yong-Hua Cheng,Wen-Kuang Kuo,Szu-Lin Su,An Android system design and implementation for Telematics services,Intelligent Computing and IntelligentSystems(ICIS),2010:206210

        猜你喜歡
        日程設(shè)計(jì)模式實(shí)例
        仿生設(shè)計(jì)模式的創(chuàng)新應(yīng)用探索
        玩具世界(2023年6期)2024-01-29 12:14:36
        “1+1”作業(yè)設(shè)計(jì)模式的實(shí)踐探索
        皮膚護(hù)理提上日程
        幸福(2019年12期)2019-05-16 02:27:52
        交通機(jī)電工程設(shè)計(jì)模式創(chuàng)新探討
        完形填空Ⅱ
        完形填空Ⅰ
        2015年焊接行業(yè)展覽會(huì)日程
        互動(dòng)式設(shè)計(jì)模式研究
        2014年焊接行業(yè)展覽會(huì)日程
        狠狠综合久久av一区二区蜜桃| 手机AV片在线| 亚洲综合av一区在线| 国产自拍视频在线观看网站 | 精品国产sm捆绑最大网免费站| 人妻无码一区二区在线影院| 熟女乱乱熟女乱乱亚洲| 精品人妻一区二区三区久久| 国产精品亚洲一区二区在线观看| 久久噜噜噜| 日本人妻系列一区二区| 国产av激情舒服刺激| 免费人成在线观看视频播放 | 99久久国产一区二区三区| 熟女一区二区中文字幕| 亚洲av无码专区在线播放| 黄色资源在线观看| 能看的网站中文字幕不卡av| 亚洲精品成人无百码中文毛片| 免费观看又色又爽又湿的视频| 国产在线不卡AV观看| 亚洲综合中文一区二区| 无码 人妻 在线 视频| 亚洲va中文字幕无码久久不卡| 国产精品成人av电影不卡| 日韩精品视频免费在线观看网站| 欧美狠狠入鲁的视频777色| 男人无码视频在线观看| 美腿丝袜美腿国产在线| 日本最新一区二区三区视频观看| 亚洲日韩精品无码专区网站 | 免费人成黄页网站在线观看国内| 国产精品高潮呻吟av久久黄| 国产成人无码一区二区在线播放| 亚洲黄色尤物视频| 美女视频在线观看一区二区三区| 最近中文字幕国语免费| 国产av影片麻豆精品传媒 | 日韩精品久久午夜夜伦鲁鲁| 秘书边打电话边被躁bd视频| 99热这里只有精品69|