新型語言AspectJ
面向Aspect的程式設計
PC的廣泛應用和網際網路技術的深入發展,對軟體提出了越來越高的要求,因此軟體開發的程式設計方法就要不斷髮展。硬體方面CPU遵循摩爾定律,幾乎每18個月效能翻番,而軟體方面,一種好的程式設計方法和標準,據說20多年才能得到廣泛接受。當前流行物件導向的程式設計方法和標準,模組化、標準化、工程化,對軟體工程師綜合素質要求很高,軟體開發工作艱苦、單調、乏味,週期長、成本高並且容易出現Bug,導致軟體需要經常更新。經驗證明,使用標準過程或物件導向的程式設計語言,在模組化設計中處理(利害)關係(cencern)方面存在缺陷,即在程式碼中難以清楚的表達某些設計決策(稱作Aspect),例如:
錯誤校驗策略
設計模式
同步策略
資源共享
分佈關係
效能最佳化
原因是這類內在的關係(cencern)對多個程式模組造成的影響,即難以把握Aspect,它橫切(crosscutting)或交叉了模組的分界。
近來,一種有效解決這類問題的新的程式設計方法浮出水面,進入了實用階段,這就是面向Aspect的程式設計方法。這是眾多科學家研究了多年的一種方法,在不同的公司和大學研究計劃中,有許多不同名稱,如“適應性程式設計”,“主觀程式設計”,“寫作過濾器”等等。面向Aspect的程式設計方法與Java語言結合,產生了一種新的程式設計語言稱作AspectJ。椐稱,Microsoft的Visual J++環境也是結合了Aspect的思想。此外,還有許多其它實用環境,如用於稀疏矩陣計算的AML,用於生成影像處理系統的RG等等。面向Aspect的程式設計是這樣一種技術:它用構成語言描述系統的功能性,用Aspect描述不同橫切的性質,然後使用Aspect編織器(Weaver)將構件和Aspect組合成系統。
在面向Aspect的程式設計方法中,程式設計語言中定義了新類“Aspect”,允許程式設計師作為單獨的實體編寫、檢查和編輯模組的橫切關係,使用日誌(Logging)技術追蹤模組,確保安全和同步模組中不出現同一時間訪問相同資料的情況,當需要改變或更新某模組的功能時,只要統一改變Aspect就可將改變後的程式碼織入所有需要改變的地方。它巧妙、直觀、有條有理,有效的解決了當前程式設計方法的弊端。
面向Aspect的設計方法允許更模組化的表達程式碼中的設計決策,使軟體工程師容易思考、開發、維護和更新應用程式碼,縮短了開發週期,降低了產品成本,減少了Bug,提高了開發效率和軟體質量,因而深受歡迎。面向Aspect的程式設計方法正越來越引起人們關注,獲得越來越多的好評,將會得到越來越廣泛的應用。
相關文章
- 新型蛋白質大語言模型即將登陸Google Cloud模型GoCloud
- 新型語音協處理器提升快速精確語言識別及處理能力
- AOP - AspectJ
- AspectJ 程式設計程式設計
- 遊戲圈裡“新型肺炎”傳言的後續遊戲
- Java 語言是強型別語言語言(轉)Java型別
- 把程式語言看做語言
- AspectJ學習筆記筆記
- AspectJ簡單實現
- DCI的AspectJ實現
- 《ASPECTJ學習筆記》筆記
- 計算機語言:編譯型/解釋型、動態語言/靜態語言、強型別語言/弱型別語言計算機編譯型別
- java語言屬於哪種語言Java
- Go語言————1、初識GO語言Go
- C語言 C語言野指標C語言指標
- K語言,q語言的前輩
- C語言---“C語言 誰與爭鋒?”C語言
- aspectJ 實現design pattern
- 概念區別 【編譯型語言與解釋型語言、動態型別語言與靜態型別語言、強型別語言與弱型別語言】編譯型別
- 【Go語言入門系列】(八)Go語言是不是面嚮物件語言?Go物件
- go語言與c語言的相互呼叫GoC語言
- 從高階語言到機器語言
- SQL語言基礎(資料控制語言)SQL
- SQL語言(結構化查詢語言)SQL
- 微軟提出新型通用神經機器翻譯方法,挑戰低資源語言翻譯問題微軟
- r語言R語言
- SQL語言SQL
- ASL語言
- J語言
- GO語言Go
- 全能語言
- Rust語言Rust
- Ruby語言
- Elixir語言R語言
- 語言說
- 手本語言
- C語言C語言
- 計算機程式語言的分類,解釋型語言、編譯型語言、指令碼語言的關係計算機編譯指令碼