1000部丰满熟女富婆视频,托着奶头喂男人吃奶,厨房挺进朋友人妻,成 人 免费 黄 色 网站无毒下载

首頁 > 文章中心 > 計算機編程

計算機編程

前言:想要寫出一篇令人眼前一亮的文章嗎?我們特意為您整理了5篇計算機編程范文,相信會為您的寫作帶來幫助,發現更多的寫作思路和靈感。

計算機編程范文第1篇

隨著時代的進步,計算機編程新技術已經廣泛的應用到生活中的各個領域,工程測量工作同樣如此。轉化以及計算一類的工作均為工程測量中的重要內容,因此筆者就其中Excel編程新技術進行分析,對計算機程序進行測試、整體的部署以及安全設置,完成轉化以及測量一類的工作。經研究發現,計算機編程新技術可以對部署工作提供更多支持,更好的完成數據處理工作,項目策略的制定以及測量工作效率也有所提高。

【關鍵詞】工程測量 計算機 編程新技術

如今,人們通過數字測量儀器完成工程測量工作,地形測圖與施工放樣工作均需要全站儀這一數字測量儀器提供數據支持,計算機可以對數據進行計算,進而獲取測設點的位置信息,放樣工作便能夠順利的完成。另外,把位置坐標信息轉化為繪圖軟件格式可以為地形測繪工作提供支持,通過Excel軟件中的轉換、計算以及編輯等功能可以對工程測量工作的需要進行滿足。

1 計算機編程新技術的研究

1.1 部署及設置安全

待計算機應用軟件設計開發工作完成,需要在人們需要的位置進行部署工作,而使用者若想使net程序正常工作,應滿足其兩方面條件,即安全性以及環境方面的要求。前者的主要內容便是用戶應用程序時,需要為各個級別、分工不同的技術人員設置相應的權限,后者的主要內容是需要具備一定環境對應用程序提供支持。基于以上方面的情況,技術人員在對應用軟件進行部署時,需要對部署工作進行嚴肅對待,僅把NET Excel軟件傳到客戶機無法滿足用戶需求。

NET框架具有一定安全功能,通過相應的平臺可以發揮安全功能的作用,此外,托管程序功能同樣具有一定的安全設計,技術人員可以將其與框架中涵蓋的安全功能進行結合,使數字證書技術與框架安全功能共同發揮作用。測試軟件代碼的功能同樣蘊含在NET框架安全功能之內,進而對安全性情況進行判斷。NET配置工具可以為代碼部署工作提供一定支持,安裝文件亦是如此,就前者而言,技術人員及使用者能夠利用安全代碼成員條件中Projects特定程序組對程序進行展開操作,并完成子程序的添加操作,將后綴為bin的項目從URL內篩選出來,完成操作。對權限進行設置的過程中,可采用Full Trust的方法設置為完全信任,之后,需要使用的代碼便能夠在計算機設備上正常運行。

1.2 VSTO― .NET的平臺技術

隨著Internet的發展和進步,人們已經完成了將統一、可靠以及安全特點集于一身的平臺設計工作,即NET平臺,其中主要包含了三方面的內容:Visual 、類庫以及CLR。該框架平臺能夠兼容各類編程語言,為跨編程的程序開發工作提供支持和平臺。后期,人們將NET平臺與Excel2003進行融合,VSTO― .NET的平臺技術也應運而生。

在辦公軟件自定義工具包中,可以創建一些程序,例如VSTO等。VS的開發環境適宜進行定制代碼的開發和創建工作,并未將VBE以及VBA應用其中,基于此,用戶在運行一些簡單的代碼或是對工程測量中復雜的解決方案進行處理時,VSTO可以為其提供更多支持和便利。一些編程問題也可以通過VSTO中的Office增強對象進行處理。例如,用戶在對工作表以及工作簿進行搜索和查詢時,可以從VSTO中進行迅速的篩選,查詢范圍也比較廣。此后增強功能無法在本地文檔中進行查詢,換言之,人們在編程過程中需要對表格進行.NET的標注,之后可以對數據進行轉化以及傳導一類的操作,并與數據控件進行直接的綁定操作。

1.3 計算程序開發

如今,人們通過VSTO― .NET的平臺可以進行程序的開發工作,為工程測量工作提供更多支持,例如,水準及導線的測量、曲線計算等方面工作等。技術人員在對程序進行設計時,可以利用VSTO― .NET的平臺,將以及C#一類的編程語言進行結合應用。在Visual 2009環境下進行開發操作,對Excel代碼進行開發,完成工程y量工作中的計算等工作。

技術人員對程序進行開發時,需要對應用程序、習慣以及開發語言一類的因素進行考慮,確保幾方面因素保持較高的一致性,這樣技術人員便不再需要對新的編程語言進行學習,程序代碼以及應用軟件的安全性大幅度提升,對知識產權的保護工作也可以提供一定支持。進行工程測量工作時,可以在Excel中輸入所需計算的信息,這種做法可以為普通用戶的使用提供更多方便,一旦用戶需要對文檔進行打印、編輯一類的操作時,可以通過應用程序完成。技術人員在對軟件進行設計時,不但考慮到工程測量工作方面的需求,同樣對操作界面是否便于交互方面的因素進行考慮,用戶可以對數據顏色、字形以及大小一類的參數進行調整,將電子表格與計算功能進行完美融合,設計出的軟件也因此具有更高的實用價值和安全性。

1.4 位置數據格式的轉換

進行工程測量工作時,使用各類數字測繪裝置存儲坐標數據,分隔符也存在一定區別,基于以上情況,為了使測繪軟件彼此之間實現數據的共享,應對數據格式進行調整,下面對RTK以及CASS軟件之間的格式轉換進行說明:三維坐標可以被認為是二者通用的公式,可以對二者進行聯系和轉換。點屬性是RTK手簿的重要標志,與CASS軟件之間具有通用的.DAT定義,因此在設置數據格式時繳柚貿.DAT格式的文件,方便編程文件的導出及導入操作。人們可以利用IGS對CASS程序中坐標數據進行格式的轉換。

2 結束語

綜上所述,計算機編程新技術在工程測量工作中已經有了廣泛的應用,通過平臺技術以及軟件方面的開發,對數據格式進行轉化,可以為實際測繪應用提供更多支持。VSTO技術較其他技術相比具有一定優勢,能夠充分發揮Office Excel新功能的作用,轉碼一類的程序有所減少。計算機編程新技術已經實現了一次技術性變革,程序的開發工作比較簡單,為部署以及操作一類的工作提供更多支持,附和水準路線的測量計算工作也可以順利進行,策略的制定工作也變得更加科學。

參考文獻

[1]王晶輝.工程測量中的計算機編程新技術淺析[J].信息與電腦,2016(01):24,26.

[2]劉彥平,謝健.工程測量中的計算機編程新技術[J].中外企業家,2016(21):211,217.

[3]宋方有.工程測量中CASIO fx-5800P編程計算器線路坐標通用程序應用探討[J].科技創新與應用,2013(34):11-11.

[4]朱衛東,郭立新,張進等.面向就業的工程測量課堂教學舉措[J].電腦知識與技術,2014(34):8262-8263.

計算機編程范文第2篇

關鍵詞:C語言 計算機 軟件編程 編程方法優化

1、C語言概述

C語言本身具備著較為優越的功能,而其本身擁有的兼具匯編語言和高級語言特點的能力,也是C語言能夠在今天的計算機編程中得到廣泛應用的原因所在。C語言發展到今天,已成為各種計算機編程語言的基礎,而其具備的靈活方便、簡潔緊湊、適用于多種操作系統、可自由書寫等特點,更為C語言的廣泛應用提供了堅實基礎。

2、基于C語言的計算機編程技術

2.1 C語言中的函數

在基于C語言的計算機編程技術中,由于具體的編程過程需要分為若干個模塊,這就使得其中每一個模塊功能的實現,都需要由函數完成。對于基于C語言的計算機編程技術來說,其本身需要應用多種特有的函數,而這類函數的應用過程,相關編程人員需要進行命名、定義參數名以及定義返回值類型等操作,這樣才能夠順利完成基于C語言的模塊功能設計。當然由于計算機技術的不斷發展,編程人員大多數時候都無需手動輸入C語言相關的函數,只需要在編程時輸入“#include”指令,就可以使用定義好的函數庫完成具體的編程操作。

2.2 變量存貯器類型的合理定義

在基于C語言的計算機編程技術中,對變量存貯器類型進行合理定義也是這一技術的重要組成部分。具體來說,基于C語言的計算機編程往往需要應用不同類型的變量存貯器,而不同的變量存貯器對于編譯代碼的執行效率也不盡相同,為此編程人員可以在子程序模塊編程中盡量選擇局部變量存貯器,整個程序模塊的編程則可以選擇全局變量存貯器,這樣就能夠較好實現基于C語言計算機編程過程中變量存貯器類型的合理定義。

2.3 算法技巧及位操作

對于基于C語言的計算機編程來說,算法稱得上是這一編程語言的靈魂所在,這就使得編程人員在應用C語言進行計算機編程時,必須掌握一定算法技巧,對于基于C語言的計算機編程來說,其本身具備著自然語言和流程圖兩種算法表示方法。值得注意的是,在應用流程圖對基于C語言的計算機編程算法表示中,編程人員能夠基于這一表示了解流程圖符號的含義,這樣就能夠保證其較好的進行基于C語言的計算機編程算法技巧應用。

2.4 多重\算次序

在基于C語言的計算機編程中,C語言本身對于變量多重運算求值順序沒有形成統一的規定。有過應用C語言編程經驗的人就會了解到,不同C語言編譯系統存在著細微差別,而很多C語言編譯系統在多重運算次序上存在著一定差別。據筆者調查得知,在我國當下基于C語言的計算機編程中,參數求值順序從右到左最為常見,這就使得基于C語言的計算機編程多重運算次序大多為先運算最后面,依次運算前面,這種基于C語言的計算機編程多重運算次序選擇有著較好的可讀性和移植性。

2.5 指針用法

對于基于C語言的計算機編程來說,指針用法也是這一編程的重要環節,在論述這一環節前,首先需要了解基于C語言的計算機編程中指針變量。結合相關文獻資料筆者發現,定義指針變量時必須對其進行初始化,否則存儲空間操作很容易出現嚴重錯誤。值得注意的是,編程人員還可以通過加減數值移動指針位置,完成具體的指針計算。此外,應用函數庫中的 void 函數,就能夠實現指針變量的定義,最終實現將任意數據類型的地址賦給指針變量。

3、基于C語言的編程方法優化

結合上文內容,對基于C語言的計算機編程技術有了較為直觀的認識,而為了保證基于C語言的計算機編程技術能夠更好發揮自身作用,筆者結合自身多年編程經驗與相關文獻資料,對基于C語言的計算機編程方法優化進行了詳細論述,希望這一論述能夠為相關C語言計算機編程從業者帶來一定啟發。

3.1 優化函數調用

對于基于C語言的計算機編程技術來時,想要實現自身的優化,優化函數調用屬于較為有效的方法。具體來說,在基于C語言的計算機編程技術函數調用的優化中,首先需要禁止函數調用傳遞結構,之所以需要禁止傳遞結構的函數調用,主要是由于函數調用傳遞結構會將整個結構復制到堆棧,這就將大量占用堆棧空間,最終加重整個系統的負擔,而為了解決不能函數調動傳遞結構這一影響,可以采用結構指針解決這一問題,這樣就順利實現了基于C語言的計算機編程技術函數調動優化。

對于基于C語言的計算機編程技術來說,其本身具備著多種能夠提高自身編程效率的庫函數,但這些函數往往具備著代碼量大、效率低的缺點,這種缺點之所以出現,主要是由于庫函數需要保證自身的廣泛適用性,所以編程人員在具體的工作中,就可以結合庫函數,自己設計一段函數程序,這樣也能夠較好實現函數調用的優化。

3.2 指針在數組中使用

對于基于C語言的計算機編程技術來說,想要實現自身技術的優化,就可以將指針在數組中使用,這樣就能夠大大提高程序的運行效率。具體來說,一般基于C語言的計算機編程需要多次計算數組地址來獲得數組中相應的每一個數值,這就大大影響了程序的運行效率,所以筆者建議將指針變量直接指向數組中元素,這樣就能夠較好實現基于C語言的計算機編程技術優化。

3.3 優化循環語句

為了能夠實現基于C語言的計算機編程技術優化,對循環語句進行優化也是優化的較好選擇。在基于C語言的計算機編程中,某些重要的循環直接關系著程序運行速度,所以筆者建議將有些在運算時并不需要加入循環變量的任務置于循環外,這樣就能夠較好實現循環的優化,大大提高程序的運行速度并降低CPU 的負擔。

4、結語

在本文就基于C語言的計算機編程技術展開的研究中,筆者詳細論述了C語言概述、基于C語言的計算機編程技術以及基于C語言的編程方法優化,希望這一論述內容能夠在一定程度上推動我國計算機編程技術的發展,并為于C語言的學習者帶來一定幫助。

參考文獻:

[1]劉秀明. 基C語言的計算機軟件編程實驗研究[J].電子技術與軟件工程 ,2014(5):263.

計算機編程范文第3篇

【關鍵詞】計算機編程 方式改進 研究

科學技術的發展推動了人類不斷進步,計算機信息技術也在全球范圍內得到了普及,時至今日,無論是人們從事學習,或者是生活、工作方面,均難以離開計算機,在此背景下,計算機編程技術在很大程度上引導了計算機設備的運行能力,因此,對編程方式進行改進,有利于促進計算機設備高效節能運行,從而讓人們在使用時更為便捷。本文基于上述背景,以改進計算機編程方式的意義為出發點,逐步深入的探討了改進策略,以期能為相關從業人員提供借鑒。

1 計算機編程方式改進的意義

在人們的日常工作生活當中,利用計算機編程,對提高工作效率、豐富個人生活起到了積極作用,隨著編程方式的不斷改進,其主要方式從手寫編程逐步過渡到機器編程,如此以來,在面對高難度、高精度、高要求的任務時,均可有條不紊的進程處理。現代科技的不斷發展,讓計算機編程方式得到了顯著的完善,傳統編程已無法滿足信息化時代所需,因此,對計算機編程方式進行改進是目前的大勢所趨,在社會各個領域、各個階層均需要有賴于計算機編程,尤其是在計算機朝智能化、效益化、云端發展的背景下,編程的簡化工序作用在各個領域中已有目共睹,所帶來的經濟效益和社會效益十分巨大。

2 計算機編程方式的改進現狀

計算機編程所采用的語言以二進制為主,在使用過程中完成了機器語言匯編語言高級語言的演變,隨著編程領域的不斷深入發展,人們也逐漸意識到機器語言和匯編語言的不足,影響了計算機編程的推廣,因此,在編程方式的改進方面,人們不斷找尋更加接近人類語言,且具有一定的邏輯規則、明確含義、簡單易懂的編程語言。高級語言則是出于這種考慮而演變而來的,在采用這種編程方式時,用戶不用考慮計算機類型,只需具備編譯和解釋程序即可自由編寫程序,在使用高級語言的編程過程中,計算機設備不能直接接受和執行命令,均需要進行解釋與編譯,從通用性和兼容性視角來看,高級語言各個方面均要完勝低級語言(機器語言、匯編語言),高級語言的出現,使編程方式更為簡化,提高了編程效率。

3 計算機編程方式的改進策略

數學算法是計算機編程的基礎,因此,對計算機編程方式進行優化時可從數學算法入手,編程方式改進優化策略有很多種,數學算法改進是最為有效的途徑,利用數學學科中的算法,可對編程問題進行總結劃分,從而實現統一計算。以下將以C語言的編程方式改進為例進行說明。

3.1 C語言重復編譯改進中

C語言是高級計算機語言中的重要內容,同時也是高級語言中的擴展基礎,使用十分廣泛。在使用C語言進行程序編寫時,存在一個相當普遍的現象,即重復編譯,由于C語言屬于面向過程的語言,因此在編程過程中非常看重代碼的邏輯性,例如一個叫head.h的頭文件,被工程中兩個源文件同時包含如:A.cpp和B.cpp。此時不用這個條件編譯,編譯時會將head.h編譯兩次,導致編譯效率低下。

但在使用#ifndef進行編譯時即可避免重復編譯的問題,如:

編譯A.cpp的時候,編譯器在預處理時知道了有HEADER_H宏,那么在編譯b.cpp的時候,預處理#ifndef HEADER_H時發現條件為假,自然不去編譯它了,節約了編程的時間。

3.2 數學算法對高級語言的改進

(1)面向對象程序的設計語言,即C++語言,這是屬于C語言的編程語言,在面向對象程序的編程語言需以對象封裝的形式進行,因此可避免C語言的編程缺陷,保證編程高校和穩定;

(2)若編程規模龐大,則所需的編寫代碼任務量非常巨大,可采用數學算法對編程方式進行優化,數學建模是一種有效形式,利用數學建模進行統一運算,可更加高效的解決問題,數學算法是目前編程工作人員公認的適宜改進計算機編程方式的方法,可有效減少工作量,并快速準確的達到程序效果。例如常用的輾轉相除法、卡馬克快速平方根、以及牛頓迭代算法等,均可建立數據模型,以坐標系、向量表等形式對程序進行直觀表達,從而讓編程方式更加便捷。

4 結束語

計算機技術的廣泛應用,不僅有效提高了人們工作和生活方式,且編程設計可進一步提高工作效率,因此,采取有效方式對編程進行改進意義重大,在科技發展的背景下,傳統手工編程已逐漸被行業淘汰,在現代企業中,更多的是要求使用機器編程,這就要求對編程方式進行改進,提高編程效率。數學算法作為有效的優化形式,可對程序邏輯分析進行設計,在編程方式改進過程中起到的作用非常明顯,因此,相關工作人員需熟練掌握這種改進方法,對重復變異現象做出改進,從而提高編程效率。

參考文獻

[1]牟昊天.計算機編程方式改進的必要性及優化策略[J].通訊世界,2015(16):199-199.

[2]賀蘊彬.關于計算機編程方式改進的分析[J].中國電子商務,2013(15):41.

計算機編程范文第4篇

【關鍵詞】C語言 計算機 軟件編程

C語言應用建立在簡單編程語言的基礎上,是一項新型的編程語言確保了編程任務的順利完成。使用者在實際的應用過程中,不受各項限制條件影響,可以結合自身的實際使用需求,嚴格按照C語言的編程要求進行編程。通過編程運行應用軟件的實施結果上可以看出,C語言是計算機中的高級編程Z言,對提升計算機技術應用效果具有重要作用。

1 C語言下的計算機軟件編程實驗技巧

1.1 熟練掌握指針運用方法

指針是C語言編程中一種特殊的類型變量,能夠快速處理編程設計過程中存在的復雜問題。指針的三要素主要包括指針名、值和類型。在對指針編程過程中,主要確保一般變量和指針的相同性。將指針應用于數組表示和函數的參數返回值中。

1.2 明確C語言特有函數功能

特有函數在C語言編程中被廣泛應用,需要充分展現出函數的功能,編程設計人員需要將返回值、函數名字和參數名等項目進行定義。編程庫中的函數主要是由C編譯系統提供,需要確保函數系統的合理定義,確保程序調用的合理性,將“#include指令”包含到所用文件中。例如,在程序運行過程中,通常會運用sqrt函數,為了確保程序的合理運行,需要將#include“string.h”應用到頭文件中。

1.3 掌握算法程序設計技巧

算法是程序設計的靈魂,需要明確算法技巧的應用方法,運用自然語言和流程圖合理表達算法。要求程序設計員需要熟練掌握流程圖符號,將其作為計算機之母,通過對數學知識的牢固應用,有助于提升計算機編程效率。

1.4 掌握位運算及文件知識

位運算是C語言之間的重要特色,也是計算機中的高級語言運算方法,自身具有唯一性和獨特性特點。需要將位運算作為二進制位對象,嚴格按照程序要求進行運算。程序設計員在編程時,需要將所寫的程序存儲到文件中,提升數據查找效率。

2 計算機軟件C語言編程案例

2.1 混合軟件編程方法

隨著科學技術的快速發展,需要加大對語言混合編程技巧的應用,對提升系統編程開發效率具有重要作用。在對混合軟件編程方法進行研究時,主要包括以下兩方面研究內容:

(1)需要將匯編語句嵌入到C語言源程序中,例如,在將asm匯編語句嵌入到C語言源程序中,需要將asm mov as,5/*將5發送到ax寄存器*/,將匯編語句嵌入到C語言源程序中時,需要利用大括號將嵌入程序括起來,例如:

Main( )

{asm{

mov ah,2

mov bh,5

int 10h

}

}

本次實驗在實施過程中,在對程序進行嵌入式設計時,需要嚴格按照固定的格式進行嵌入式輸入,并且需要在嵌入的各行代碼前加“asm”。程序設計人員在進行嵌入式程序設計時,需要滿足以下條件要求:“asm”關鍵字不可少,并且需要將其放置在指令代碼前,需要確保嵌入匯編語言指令代碼能夠與正常的C語言程序混合使用,用“;”作為C語言的分隔符;將“/%”和“*/”作為C語言的注釋分界符。

(2)做好C語言程序和匯編程序的編寫工作,確保編譯目標代碼模塊的獨立性,確保鏈接的合理性。首先,明確C語言程序匯編語言中各種子程序和定義變量的合理性,確保匯編語言的合理調用。由于混合編程語言由若干個功能模塊共同組成,各功能模塊語言能夠獨立完成編程工作,并且通常會以函數的形式展現出來。設計人員需要結合每一模塊的特點,來合理選擇獨立的語言編程系統,并形成目標性的文件,確保能夠形成可視性的文件。其次,需要加大對參數傳遞問題的合理解決,從參數傳遞原則方面對C語言的程序調用匯編程序進行分析,運用推棧將參數傳遞給匯編程序。例如,在對voidaa(char*p,inti)函數進行編寫時,主要是利用匯編語言進行編寫,確保編譯工作能夠在小內存模式下開始,系統在調用時,將其編寫成aa(&q,n)。

2.2 混合軟件編程實例分析

在開展混合軟件編程工作時,需要純5個數中尋找最小值,將主程序設為“min.c”,匯編子程序設為“qiumin.asm”。主程序的編寫形式主要是利用C語言進行編寫,匯編子程序的編寫形式主要是利用匯編語言編寫,在實際的應用過程中,通常會被主程序所調用,以便完善對最小數的尋找,程序代碼如下所示:

/*文件名為:min.c*/

#include

Int extern qiumin(int count,int vl,int v2,int v3,int v4,int v5);/*聲明qiumin為外部函數*/

Main()

{

int min;

Min=qiumuin(12 ,54,8,4,23,9);

Printf(“The min is%d\n”,min);

}

主要是利用C語言和匯編語言混合的編程反復發,確保應用程序能夠滿足運行速度的要求,編程人員需要做好寄存器的合理分配,明確影響程序的因素。為了確保程序的合理運用,需要確保程序預報語言設計之間外部接口的相互協調性,提升外部調用效果。

3 結論

近年來,信息技術發展迅速,計算機軟件是信息化社會的必需品,需要加大對C語言的應用力度,將其應用到各個領域中,確保行業的高效運營,為計算機軟件的發展奠定良好的基礎。同時,確保C語言軟件能夠廣泛的應用到計算機編程實驗中,強化C語言的實踐效果,利用簡單的C語言編程,提高軟件的功能性,拓寬計算機軟件的應用領域,確保計算機軟件的多樣化發展,向網絡化和信息化方向不斷邁進。

參考文獻

[1]龔晨.基于C語言的計算機軟件編程實驗研究[J].電腦編程技巧與維護,2016(02):36-37.

[2]芮素文.基于C語言的計算機軟件編程分析[J].信息系統工程,2015(01):40.

[3]王志超,趙越.基于C語言的計算機軟件編程實驗研究[J].科技創新導報,2015(11):45.

計算機編程范文第5篇

關鍵詞:計算機編程思想;面向過程;面向對象;面向方面

中圖分類號:TP3-0 文獻標識碼:A 文章編號:16727800(2012)011000502

作者簡介:高云(1970-),女,碩士,南京信息職業技術學院副教授、高級工程師,研究方向為高職教育、軟件技術。

0 引言

計算機技術產生于20世紀40年代,隨著軟硬件水平的飛速發展和應用范圍的擴大,計算機編程思想也歷經變化,先后出現了面向過程編程、面向對象編程和面向方面編程這幾種編程思想,它們的產生對軟件技術的發展起到了深遠的影響。

1 面向過程編程

面向過程編程,又稱為結構化編程。C、Pascal和Fortran語言均采用面向過程編程思想。

面向過程編程關注的是解決問題的步驟,先把軟件系統分解成多個模塊,然后逐步細化,完成整個軟件系統。各模塊之間存在相互調用和信息傳遞。

面向過程編程的思維方式易于理解、條理清晰,曾被廣泛應用,但隨著軟件系統規模的擴大和性能要求的提高,面向過程編程的缺陷日益明顯。軟件系統規模的擴大,使得模塊的分解難度加大,模塊之間的聯系也更加復雜,軟件的可靠性難以提高,可維護性差。

2 面向對象編程

在 20 世紀 90 年代,面向對象編程(OOP)逐步代替了面向過程編程。迄今為止,面向對象成為了主流的編程思想,已經發展到相當成熟的階段。典型的采用面向對象編程思想的開發語言有 C++、Pascal 等。

所謂面向對象就是在處理問題時,從該問題所存在的事物本身出發,以類及對象作為基本構造單元,逐步認識事物的屬性和行為特征。面向對象的分析過程是人類認識客觀世界的過程,更接近于人類思維的方式。

面向對象編程的主要概念如下:

(1)對象(Object):對象是對客觀事物的一個實體的描述,是構成系統的一個基本單位,是分析問題的基準。

(2)類(Class):類是具有相同屬性和服務的一組對象的集合,對屬于該類的對象集合提供了統一的抽象描述,內部包括屬性和行為兩個主要部分。簡言之,類是對對象的抽象,而對象是類的實例化。

(3)抽象(Abstract):抽象是面向對象編程思想的基本的原則之一, 是對一類對象中所共有的屬性和行為特征的提取。抽象包括數據抽象和行為抽象,數據抽象是指對該類對象的公共屬性的抽象, 行為抽象是指對該類對象可進行的公共操作的抽象。

(4)封裝(Encapsulation):封裝是采用類機制將類的屬性和行為進行捆綁,成為一個整體,使得類的內涵豐富而便于使用。

(5)繼承(Inheritance):繼承是指子類不但具備父類的屬性和行為, 還可以具備自身獨有的屬性和行為,子類的所有屬性和行為還可以被它自身的子類繼承下去,子類與父類間的繼承關系呈現出的層次結構體現出現實世界中不同類型對象之間的共性和個性關系,因此繼承可以解決軟件的可重用性問題,簡化了程序設計。

(6)多態(Polymorphism):多態是指具有繼承關系的類可以使用同名行為,但行為內涵可以具有不同的定義,不同的對象將會根據自己所屬的類來選擇在實際運行中所使用的具體行為。多態性機制增加了面向對象軟件系統的靈活性,提高了軟件的可重用性和可擴充性。

面向過程與面向對象的編程思想最根本的區別在于:前者從操作步驟出發,著重于對操作步驟的分解,將各個操作整合為模塊,從而組成整個系統;而后者編程角度從對所處理的事物出發,著重于對事物的屬性和行為的抽象,以及不同類型事物之間的共性和個性。

較面向過程編程相比,面向對象編程可以描述更復雜、更接近現實的系統,描述方法靈活,具備良好的可重用性和可擴展性,提高了軟件系統的質量和開發效率,保證了對系統項目的有效管理。

但在實際過程中,面向對象編程的缺陷也不容忽視,主要表現為代碼散亂和代碼糾纏。面向對象的首要工作是對所關注對象的界定,也就是類的設計,要給出類的屬性和行為。但在現實過程中,常常會遇到橫跨多個不相關模塊的公共行為,如記錄日志、異常處理、安全控制等等,即橫切關注點。系統中頻繁出現的橫切關注點致使代碼散亂,而橫切關注點之間的關聯又致使代碼糾纏。代碼散亂和代碼糾纏使得面向對象編程的系統結構混亂,難以維護和擴展,降低了軟件系統的質量。

3 面向方面編程

面向方面編程(AOP)的概念是 Gregor Kiczales 在 Xerox Parc 團隊于 20 世紀 90 年代后期提出的,Filman與Friedman 2000年在OOPSLA關于分離關注點的討論會上給出了得到公認的面向方面的定義。雖然面向方面編程還處于不完善的階段,但它已經受到了廣泛的關注。目前,采用面向方面編程思想的語言有許多種,如 Aspect C++、Aspect J等等。

面向方面編程將軟件系統中的所有業務邏輯分為核心關注點(Code Concerns)和橫切關注點(Crosscutting Concerns),核心關注點處理系統中的獨立的核心業務,橫切關注點處理系統中的相對獨立的非核心業務,橫切關注點所涉及的業務功能在系統不同位置被多次使用。面向方面編程認為不需要在代碼中顯式調用橫切關注點,而只要指定加入橫切關注點的位置,那么系統在運行時自動執行橫切關注點的業務功能。

面向方面編程的主要概念如下:

(1)關注點(Concern):關注點是指對特定業務的處理。軟件系統是所有核心關注點和橫切關注點的組合,在編碼時分別實現,在運行時重新組合起來。軟件系統中的關注點分為核心關注點和橫切關注點。

(2)方面(Aspect):方面類似于面向對象編程中的類,但內涵更豐富。它將切入點和通知結合在一起,用于描述橫切關注點。

(3)通知(Advice):通知是位于方面中修改行為或屬性的代碼。方面可以在特定條件下將通知嵌入特定位置,從而達到橫切的目的。通知分為3種,Before通知、After通知和Around通知,分別表示操作是在連接點之前、之后或代替連接點。

(4)切入點(Pointcut):切入點通過定義切入點表達式來過濾出感興趣的連接點,是方面的作用點。

(5)連接點(Joinpoint):連接點是主程序和方面的連接處,指明了織入橫切代碼的位置。

(6)織入(Weaving):織入是指將通知的代碼插入通知所對應的連接點的代碼中,得到一個完整的軟件系統。

面向方面編程的開發步驟包括方面分解、關注點實現和織入。方面分解是指將軟件系統分解為核心關注點和橫切關注點。關注點實現是指對所分解的關注點的實現,核心關注點可以采用面向對象編程技術,橫切關注點可以采用面向方面編程技術。織入是指通過創建方面來制定制定關注點之間的實施規則,從而得到最終的系統。

面向方面編程采用了橫切關注點模塊化來完成系統中業務邏輯的劃分,實現了關注點的分離,較面向對象編程相比降低了系統實施的難度,解決了代碼散亂和代碼糾纏的問題。方面的設計使得系統的松散耦合性更強,代碼冗余小,系統易維護、易擴充。

雖然面向方面編程已受到廣泛的關注和應用,但其本身存在的問題也給使用帶來了一定的困難。例如,切入點與基礎程序的耦合性較強,基礎程序結構的變化就可能導致意外的連接點丟失。因此,目前在開發過程中,面向方面編程技術只作為面向對象編程技術的補充加以運用。

4 結語

面向過程、面向對象和面向方面這3種編程思想是隨著計算機軟件規模的擴大和架構的復雜而依次出現的,各有其利弊,均得到應用。現在軟件系統開發普遍采用的是面向對象編程;面向過程編程適用于功能簡單而且可以用流程來表示的軟件系統;面向方面編程目前只在軟件系統的局部使用,作為對面向對象編程的補充。

參考文獻:

[1]史永哲.計算機編程思想分析[J].陜西師范大學學報:自然科學版,2008(6).

[2]劉曉崢.淺析面向過程與面向對象編程思想之異同[J].科技信息,2011(3).

[3]古思山,蔡樹彬,李師賢.從面向方面程序設計的定義到面向方面程序設計語言[J].計算機科學,2011(10).

主站蜘蛛池模板: 平邑县| 康乐县| 平利县| 瑞丽市| 芦山县| 民和| 平遥县| 黑龙江省| 临高县| 广水市| 策勒县| 安阳市| 聂荣县| 临桂县| 华安县| 海伦市| 溧阳市| 乡宁县| 武隆县| 尼玛县| 九寨沟县| 阿拉善左旗| 黔西县| 玉溪市| 平阳县| 奉节县| 衡南县| 名山县| 托克逊县| 霞浦县| 获嘉县| 揭西县| 措美县| 安顺市| 湄潭县| 大冶市| 安阳市| 涞水县| 承德市| 陵水| 张家川|