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