賀曉平
摘 要 隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展和進(jìn)步,計(jì)算機(jī)應(yīng)用程序已經(jīng)在在線旅游、智能學(xué)習(xí)、金融證券、電力通信、生產(chǎn)制造等領(lǐng)域得到廣泛應(yīng)用,開發(fā)了許多先進(jìn)的自動(dòng)化系統(tǒng)。隨著軟件功能增多,計(jì)算機(jī)程序設(shè)計(jì)越來越復(fù)雜,因此需要采用先進(jìn)的程序設(shè)計(jì)模式,提高計(jì)算機(jī)程序開發(fā)的可移植性、可重用性,從而縮短軟件開發(fā)的周期和提升軟件運(yùn)行準(zhǔn)確度,具有重要的作用和意義。
【關(guān)鍵詞】程序設(shè)計(jì) 創(chuàng)建型 結(jié)構(gòu)型 行為型
1 引言
隨著應(yīng)用軟件的發(fā)展和普及,其功能越來越多,程序開發(fā)工作量也急劇增大,因此亟需創(chuàng)建一種新型的計(jì)算機(jī)程序設(shè)計(jì)模式,提高編程效率和縮短軟件開發(fā)周期,為此可利用先進(jìn)的開閉原則、里氏代換原則、單一職責(zé)原則、依賴倒置原則和接口隔離原則,構(gòu)建和研發(fā)程序開發(fā)模式。一個(gè)完整的程序設(shè)計(jì)模式包括四個(gè)基本要素,分別是模式名稱、問題、解決方案和效果,其核心思想是通過增加相關(guān)的抽象層將變化部分從不變化的部分中分離出來,從而大幅度提升代碼的復(fù)用性,增強(qiáng)程序代碼的可維護(hù)性。當(dāng)前,程序設(shè)計(jì)模式已經(jīng)在面向?qū)ο蟆⒚嫦蜻^程等軟件開發(fā)中得到廣泛應(yīng)用,提高軟件設(shè)計(jì)效率的同時(shí)也可以優(yōu)化軟件系統(tǒng)性能,更加有效地提高軟件系統(tǒng)設(shè)計(jì)的靈活性。
2 新時(shí)期計(jì)算機(jī)程序設(shè)計(jì)模式
目前,計(jì)算機(jī)程序設(shè)計(jì)模式主要包括三個(gè)類型,分別是創(chuàng)建型模式、結(jié)構(gòu)型模式和行為型模式,這些模式既適用于面向?qū)ο蟪绦蛟O(shè)計(jì),也適用于面向過程程序設(shè)計(jì)。具體地,每一種程序設(shè)計(jì)模式的具體應(yīng)用包括以下幾個(gè)方面:
2.1 創(chuàng)建型模式
創(chuàng)建型模式與對象創(chuàng)建存在密切關(guān)系,其可以描述對象創(chuàng)建的詳細(xì)過程,并且能夠封裝和隱藏對象創(chuàng)建細(xì)節(jié),確保計(jì)算機(jī)程序代碼不依賴于任何一個(gè)具體的對象,即使需要增加一個(gè)新對象,也不需要修改代碼。創(chuàng)建型程序設(shè)計(jì)模式經(jīng)過多年使用,已經(jīng)得到了極大的改進(jìn),誕生了抽象工廠模式、單件模式。
2.2 結(jié)構(gòu)型模式
結(jié)構(gòu)型模式可以有效地描述類和對象之間的組織結(jié)構(gòu),實(shí)現(xiàn)新型程序設(shè)計(jì)功能。結(jié)構(gòu)型程序設(shè)計(jì)模式采用了繼承機(jī)制組合類,比如適配器模式;結(jié)構(gòu)型對象模式可以實(shí)現(xiàn)對象組裝,比如組合模式、代理模式或裝飾模式。結(jié)構(gòu)型模式操作中,適配器對象是一個(gè)類的接口,并且能夠通過轉(zhuǎn)換成為另外一個(gè)接口;組合模式可以將每一個(gè)對象組合成為樹型結(jié)構(gòu),表示一個(gè)部分—整體層次結(jié)構(gòu);裝飾模式可以動(dòng)態(tài)地增加對象功能;代理模式可以提供一個(gè)代理,該模式可以動(dòng)態(tài)地控制對象訪問程序。
2.3 行為型設(shè)計(jì)模式
行為型設(shè)計(jì)模式可以利用描述算法來分配各個(gè)對象之間的任務(wù),其描述的不僅僅是類或?qū)ο蟮脑O(shè)計(jì)模式內(nèi)容,還可以為各個(gè)模式之間提供通訊功能。目前常用的行為型設(shè)計(jì)模式包括觀察者模式、狀態(tài)模式、命令模式、策略模式和迭代器模式。行為型設(shè)計(jì)模式克服了程序運(yùn)行時(shí)刻存在的復(fù)雜控制流,采用對象復(fù)合模式,可以完成單個(gè)對象不能夠完成的任務(wù)。行為型設(shè)計(jì)模式中,命令模式可以將多個(gè)請求封裝成一個(gè)對象,根據(jù)不同的請求針對客戶內(nèi)部的數(shù)據(jù)進(jìn)行參數(shù)化。狀態(tài)模式允許每一個(gè)對象的狀態(tài)內(nèi)部發(fā)送改變時(shí)不需要改變其自身行為;策略模式可以定義許多封裝算法,將這些算法一個(gè)個(gè)地封裝起來,使得這些狀態(tài)可以有效地進(jìn)行互換。
3 計(jì)算機(jī)程序設(shè)計(jì)新模式展望
計(jì)算機(jī)程序設(shè)計(jì)模式具有簡單表達(dá)、快速復(fù)制等特點(diǎn),因此已經(jīng)在程序開發(fā)中得到廣泛應(yīng)用,并且得到了很多人的研究和改進(jìn),誕生了許多新型的計(jì)算機(jī)程序設(shè)計(jì)模式。未來計(jì)算機(jī)程序設(shè)計(jì)新模式包括以下幾個(gè)發(fā)展趨勢:
3.1 面向UI模式
隨著移動(dòng)通信、智能手機(jī)等新型“互聯(lián)網(wǎng)+”軟硬件資源的誕生,傳統(tǒng)的軟件開發(fā)已經(jīng)逐漸向輕量級(jí)模式轉(zhuǎn)變,因此為了提高智能應(yīng)用終端軟件的便捷性和友好性,程序設(shè)計(jì)新模式需要向UI模式轉(zhuǎn)變,以人們的使用感知為基準(zhǔn),提高應(yīng)用軟件產(chǎn)品開發(fā)成效。
3.2 面向協(xié)作工作流模式
隨著軟件功能的增多,程序設(shè)計(jì)的內(nèi)容也越來越多和復(fù)雜,設(shè)計(jì)團(tuán)隊(duì)的很多人需要協(xié)作才能夠完成,因此為了提高程序設(shè)計(jì)的效率,計(jì)算機(jī)程序設(shè)計(jì)模式可以逐漸轉(zhuǎn)向協(xié)作工作流模式,該模式結(jié)合了工廠模式和組合模式的優(yōu)點(diǎn),自頂向下構(gòu)建應(yīng)用軟件功能流程,凸顯了程序開發(fā)的強(qiáng)大效能。
3.3 集成設(shè)計(jì)模式
目前,軟件開發(fā)模式集成了多種屬性,這些屬性可以有效地應(yīng)用JavaEE、.NET、MVC、Struts等架構(gòu),構(gòu)建一個(gè)多層次、輕量級(jí)、驅(qū)動(dòng)型的應(yīng)用程序組件模型,在處理底層的通信服務(wù)、函數(shù)調(diào)用時(shí)可以采取接口模式,簡化Java、C++、C等程序語言編寫的過程,更好地為智能終端、云端應(yīng)用軟件的開發(fā)、配置和執(zhí)行提供支撐。同時(shí)這些架構(gòu)的規(guī)范由微軟、SUN、高通、華為、百度、阿里巴巴等公司聯(lián)合制定,定義了一組可以重用的組件,利用這些組件可以像搭積木一樣構(gòu)建分布式應(yīng)用程序,進(jìn)一步提高軟件開發(fā)的通用性。
4 結(jié)束語
隨著計(jì)算機(jī)程序設(shè)計(jì)模式的應(yīng)用和改進(jìn),其已經(jīng)隨著面向?qū)ο蟪绦蛘Q生了許多新型設(shè)計(jì)概念。優(yōu)化計(jì)算機(jī)應(yīng)用程序設(shè)計(jì)模式可以為開發(fā)人員帶來很多好處,并且能夠根據(jù)實(shí)際應(yīng)用情況選擇多種設(shè)計(jì)模式,徹底地改變傳統(tǒng)軟件開發(fā)模式存在的問題,比如軟件復(fù)用性較低、軟件錯(cuò)誤較多等問題,同時(shí)可以利用人們的實(shí)際開發(fā)情況提高可移植性、健壯性和魯棒性,進(jìn)一步縮短應(yīng)用軟件開發(fā)周期。
參考文獻(xiàn)
[1]孫晶,方英蘭,張永梅,等.計(jì)算機(jī)類的程序設(shè)計(jì)課程教學(xué)模式探討[J].電腦知識(shí)與技術(shù),2015,11(32):101-102.
[2]楊新艷,蘇愛玲.Java設(shè)計(jì)模式在基于MVC模式系統(tǒng)中的應(yīng)用研究[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014,15(13):128-129.
[3]許涵斌,張學(xué)林,鄭曉梅,等.一種基于結(jié)構(gòu)查詢的UML設(shè)計(jì)模式識(shí)別方法[J].計(jì)算機(jī)科學(xué),2014,41(11):50-55.
[4]古輝,張煒星,金鵬,等.基于關(guān)聯(lián)度和特征約束的軟件設(shè)計(jì)模式識(shí)別方法[J].計(jì)算機(jī)科學(xué),2015,42(02):173-176.
作者單位
湖南省益陽市桃江縣職業(yè)中專學(xué)校 湖南省桃江縣 413400