国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺議面向方面技術(shù)的開發(fā)方法和實現(xiàn)技術(shù)

2016-05-14 03:10:11田興強
新教育時代·教師版 2016年6期

摘 要:在計算機應(yīng)用領(lǐng)域持續(xù)擴大的背景下,對程序開發(fā)技術(shù)的要求不斷增高。傳統(tǒng)的OOP技術(shù)難以處理大量的橫切關(guān)注點,使計算機的授權(quán)、異常捕捉以及日志等功能得不到更新,導(dǎo)致計算機出現(xiàn)代碼復(fù)雜、難維護以及可復(fù)用性低等問題。AOP是一項新的編程技術(shù),并能解決OOP所存在的問題?;谶@一點,本文對AOP技術(shù)進行分析,從AOP編制語言以及主要元素入手,探討AOP的主要開發(fā)方法,再結(jié)合OOP的相關(guān)特點,進一步闡述AOP的三種實現(xiàn)技術(shù),并將三種實現(xiàn)技術(shù)進行對比,給出最佳的AOP實現(xiàn)形式,旨在為AOP開發(fā)人員提供參考。

關(guān)鍵詞:OOP技術(shù) AOP技術(shù) 橫切關(guān)注點

在OOP的運用中,軟件開發(fā)通常要將系統(tǒng)依照功能進行分解,再將具備這些功能的小單元進行開發(fā)。同時,對外提供相應(yīng)的接口,將小單元進行組合,以此形成完整的系統(tǒng)功能。但由于系統(tǒng)中存在大量橫切關(guān)注點,而OOP技術(shù)難以將橫切關(guān)注點儲存在單個模塊內(nèi),導(dǎo)致橫切關(guān)注點分散在系統(tǒng)中,并與功能代碼相混合,從而減弱了系統(tǒng)模塊的可維護性、可追蹤性以及可利用性。AOP是在OOP基礎(chǔ)上改造而來,并能保留OOP原有的優(yōu)勢。就AOP來講,通過分離原有的方面模塊,再將方面模塊轉(zhuǎn)入到核心類處,以此達到系統(tǒng)演化的目的。[1]

一、AOP的基本概述、編制語言以及主要元素

1.基本概述

AOP實質(zhì)上是一種面向方面的程序設(shè)計方式,不僅能分離關(guān)注點,還能處理橫斷現(xiàn)象。

2.主要元素

通常來講,AOP的主要元素有五種:一是方面,二是連接點,三是切入點,四是通知,五是關(guān)注點。

3.編制語言

AOP語言通常有三種形式:一是聯(lián)結(jié)點,二是聯(lián)結(jié)點標(biāo)識,三是行為。就聯(lián)結(jié)點來講,這是一種定義較為明確的點,能提供程序描述的基本框架,也是不同代碼之間相互交互的點。就聯(lián)結(jié)點標(biāo)識來講,這種標(biāo)識可提供具體結(jié)構(gòu)來操縱程序的任何部分。就行為來講,這是一種針對聯(lián)結(jié)點所選擇的行為。

二、AOP的主要開發(fā)方法

在開發(fā)AOP的過程中,主要選用松散耦合的結(jié)構(gòu)來提供獨立關(guān)注點,并將這些獨立關(guān)注點進行組合,以此構(gòu)成最終的AOP系統(tǒng)。通常來講,可將AOP的開發(fā)過程分為三環(huán)節(jié),依次為方面分解、實現(xiàn)關(guān)注點以及重新組合。[2]

1.方面分解

在方面分解過程中,將AOP需求分解為兩類關(guān)注點,分別是一般關(guān)注點以及橫切關(guān)注點。

2.實現(xiàn)關(guān)注點

在實現(xiàn)關(guān)注點的過程中,如果要實現(xiàn)一般關(guān)注點,可借助OOP技術(shù)就能完成;如果要實現(xiàn)橫切關(guān)注點,就需借助AOP技術(shù)來完成。

3.重新組合

在重新組合的過程中,方面集合器需重新構(gòu)建模塊單元,以此制定重組規(guī)則。

4.AOP以及OOP對比

就AOP技術(shù)以及OOP技術(shù)的差異性來講,最顯著的差異就是橫切關(guān)注點的實現(xiàn)形式。就AOP而言,在實現(xiàn)AOP過程中可保留編程范型的全部優(yōu)點。就以O(shè)OP為例,如果在開發(fā)AOP的過程中,選擇OOP作為AOP的基礎(chǔ)范型,就能將OOP的優(yōu)勢全部保留,包括一般關(guān)注點的實現(xiàn)優(yōu)勢。同時,在AOP系統(tǒng)的代碼重用性比OOP的代碼重用性更強。此外,AOP所含的方面模塊無法識別橫切關(guān)注點,AOP系統(tǒng)更容易拓展新功能,并且AOP系統(tǒng)擴展難度小于OOP系統(tǒng)。

三、AOP的主要實現(xiàn)技術(shù)

通常來講,AOP的實現(xiàn)過程有兩個步驟:一是組裝關(guān)注點,二是將組裝結(jié)果進行轉(zhuǎn)化。就組裝關(guān)注點來講,這部分較為簡單。就轉(zhuǎn)化組裝結(jié)果來講,這是AOP實現(xiàn)的重要內(nèi)容。將組裝結(jié)果進行轉(zhuǎn)化,使原有的源碼轉(zhuǎn)化成新的源碼,再將生成的源碼通過編譯器進行編譯,以此生成可執(zhí)行代碼。例如,現(xiàn)將不同方面進行轉(zhuǎn)化,生成新的源代碼,再借助編譯器將新生成的源代碼進行轉(zhuǎn)化,以此形成字節(jié)碼。

1.實現(xiàn)技術(shù)

從目前來看,AOP的實現(xiàn)技術(shù)主要有三種:一是基于開發(fā)模式的實現(xiàn)技術(shù),包括行為模式。二是基于開發(fā)語言的實現(xiàn)技術(shù),包括。三是基于修改代碼的實現(xiàn)技術(shù),包括。

2.技術(shù)對比

就基于開發(fā)模式的實現(xiàn)技術(shù)來講,這種技術(shù)是參照面向?qū)ο笏哂械恼Z言特性,從技術(shù)開發(fā)的角度入手,并借助面向?qū)ο蟪S玫姆治鐾緩竭M行分析,再開發(fā)可行的設(shè)計模式使現(xiàn)有程序具備面向方面的基本特性,以此達到實現(xiàn)AOP的目的。在這類技術(shù)的運用中,需在研究AOP過程中掌握AOP的具體含義。

就基于開發(fā)語言的實現(xiàn)技術(shù)來講,這種技術(shù)要求使用者重新掌握一門語言,如語言。盡管語言能夠適用于Java,但由于語言的語言規(guī)則與主流語言的語言規(guī)則相差較大,難以成為AOP的通用語言。因此,這類技術(shù)容易受到語言的限制,目前還無法成為主流的實現(xiàn)技術(shù)。[3]

就基于修改代碼的實現(xiàn)技術(shù)來講,這種技術(shù)只需借助AOP常用的開發(fā)框架,并在分析階段合理選擇的思想方法來確定設(shè)計系統(tǒng)。如此一來,這就能夠解決前兩種方式所存在的弊端。此外,這種方式所借助的AOP框架具有開放源碼的特性,便于開發(fā)者從源碼中獲取AOP框架常用的運行機制。

總而言之,第三種技術(shù)是實現(xiàn)AOP的最佳方式,便于開發(fā)人員從需求分析階段以及重新組合階段深入了解AOP。此外,第三種技術(shù)可借助Java常用的語言來構(gòu)建AOP框架,有助于使用人員進行

研究。

結(jié)語:

本文對AOP技術(shù)進行簡單闡述,并從開發(fā)方法以及實現(xiàn)技術(shù)兩方面入手。從開發(fā)過程來講,AOP的開發(fā)過程依次為方面分解、實現(xiàn)關(guān)注點以及重新組合;從實現(xiàn)技術(shù)來講,AOP主要依靠基于開發(fā)模式的實現(xiàn)技術(shù)、基于開發(fā)語言的實現(xiàn)技術(shù)、基于修改代碼的實現(xiàn)技術(shù)??傊?,AOP仍存在研究的基礎(chǔ)階段,并有著較多的潛在優(yōu)勢,包括面向過程技術(shù)優(yōu)勢以及面向?qū)ο蠹夹g(shù)優(yōu)勢。從目前AOP發(fā)展來看,AOP在軟件領(lǐng)域中有了一定突破,在操作系統(tǒng)以及網(wǎng)絡(luò)管理中廣泛應(yīng)用。但AOP開發(fā)人員仍需加強對AOP的研發(fā),以此增強AOP技術(shù)的穩(wěn)定性。[4]

參考文獻:

[1]鄧惠敏.基于CPS的實時系統(tǒng)的面向方面的MDA方法[D].廣東工業(yè)大學(xué),2011.

[2]孫曉星.面向方面的軟件容錯模型設(shè)計與分析技術(shù)[D].華東理工大學(xué),2012.

[3]張璇.面向方面可信軟件過程建模方法研究[D].云南大學(xué),2014.

[4]黃興硯.基于MDA的面向方面建模工具的研究[D].重慶大學(xué),2014.

[5]李冰.基于面向方面的軟件產(chǎn)品線產(chǎn)品配置生成方法研究及支持工具實現(xiàn)[D].吉林大學(xué),2013.

作者簡介:

田興強,畢業(yè)學(xué)校:貴州大學(xué),專業(yè):計算機軟件工程,工作單位:貴州農(nóng)業(yè)職業(yè)學(xué)院,研究方向:軟件工程

吉木萨尔县| 施甸县| 枞阳县| 沂水县| 仪征市| 密山市| 奎屯市| 南乐县| 泸水县| 阿勒泰市| 罗山县| 民和| 恩施市| 和平县| 若尔盖县| 客服| 平陆县| 沛县| 桐乡市| 南江县| 海口市| 宁化县| 高淳县| 台南县| 南木林县| 亚东县| 普宁市| 浮梁县| 洛南县| 华安县| 清新县| 屯门区| 宜春市| 和政县| 宝应县| 绵阳市| 庐江县| 米脂县| 德阳市| 兴业县| 凤凰县|