<em id="0a85b"><option id="0a85b"></option></em>

<abbr id="0a85b"></abbr>

      <nobr id="0a85b"></nobr>
        <tr id="0a85b"></tr>
        9久久伊人精品综合,亚洲一区精品视频在线,成 人免费va视频,国产一区二区三区黄网,99国产精品永久免费视频,亚洲毛片多多影院,精品久久久无码人妻中文字幕,无码国产欧美一区二区三区不卡
        學習啦>知識大全>知識百科>百科知識>

        aop的介紹作用和功能有哪些

        時間: 謝君787 分享

          AOP是OOP的延續,是軟件開發中的一個熱點,也是Spring框架中的一個重要內容,小編在此整理了aop的相關內容,供大家參閱,希望大家在閱讀過程中有所收獲!

          AOP的介紹

          區分

          AOP、OOP在字面上雖然非常類似,但卻是面向不同領域的兩種設計思想。OOP(面向對象編程)針對業務處理過程的實體及其屬性和行為進行抽象封裝,以獲得更加清晰高效的邏輯單元劃分。

          而AOP則是針對業務處理過程中的切面進行提取,它所面對的是處理過程中的某個步驟或階段,以獲得邏輯過程中各部分之間低耦合性的隔離效果。這兩種設計思想在目標上有著本質的差異。

          上面的陳述可能過于理論化,舉個簡單的例子,對于“雇員”這樣一個業務實體進行封裝,自然是OOP/OOD的任務,我們可以為其建立一個“Employee”類,并將“雇員”相關的屬性和行為封裝其中。而用AOP設計思想對“雇員”進行封裝將無從談起。

          同樣,對于“權限檢查”這一動作片斷進行劃分,則是AOP的目標領域。而通過OOD/OOP對一個動作進行封裝,則有點不倫不類。

          換而言之,OOD/OOP面向名詞領域,AOP面向動詞領域。

          關系

          很多人在初次接觸 AOP 的時候可能會說,AOP 能做到的,一個定義良好的 OOP 的接口也一樣能夠做到,我想這個觀點是值得商榷的。AOP和定義良好的 OOP 的接口可以說都是用來解決并且實現需求中的橫切問題的方法。但是對于 OOP 中的接口來說,它仍然需要我們在相應的模塊中去調用該接口中相關的方法,這是 OOP 所無法避免的,并且一旦接口不得不進行修改的時候,所有事情會變得一團糟;AOP 則不會這樣,你只需要修改相應的 Aspect,再重新編織(weave)即可。 當然,AOP 也絕對不會代替 OOP。核心的需求仍然會由 OOP 來加以實現,而 AOP 將會和 OOP 整合起來,以此之長,補彼之短。

          aop的名稱含義

          Aspect Oriented Programming(AOP)是較為熱門的一個話題。AOP,國內大致譯作“面向切面編程”。

          “面向切面編程”,這樣的名字并不是非常容易理解,且容易產生一些誤導。筆者不止一次聽到類似“OOP/OOD11即將落伍,AOP是新一代軟件開發方式”這樣的發言。顯然,發言者并沒有理解AOP的含義。Aspect,沒錯,的確是“方面”的意思。不過,華語傳統語義中的“方面”,大多數情況下指的是一件事情的不同維度、或者說不同角度上的特性,比如我們常說:“這件事情要從幾個方面來看待”,往往意思是:需要從不同的角度來看待同一個事物。這里的“方面”,指的是事物的外在特性在不同觀察角度下的體現。而在AOP中,Aspect的含義,可能更多的理解為“切面”比較合適。所以筆者更傾向于“面向切面編程”的譯法。

          可以通過預編譯方式和運行期動態代理實現在不修改源代碼的情況下給程序動態統一添加功能的一種技術。AOP實際是GoF設計模式的延續,設計模式孜孜不倦追求的是調用者和被調用者之間的解耦,提高代碼的靈活性和可擴展性,AOP可以說也是這種目標的一種實現。

          在Spring中提供了面向切面編程的豐富支持,允許通過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用對象只實現它們應該做的——完成業務邏輯——僅此而已。它們并不負責(甚至是意識)其它的系統級關注點,例如日志或事務支持。

          aop的主要功能

          日志記錄,性能統計,安全控制,事務處理,異常處理等等

          主要意圖

          將日志記錄,性能統計,安全控制,事務處理,異常處理等代碼從業務邏輯代碼中劃分出來,通過對這些行為的分離,我們希望可以將它們獨立到非指導業務邏輯的方法中,進而改變這些行為的時候不影響業務邏輯的代碼。

          aop的作用

          面向過程編程離我們已經有些遙遠,面向對象編程正主宰著軟件世界。當每個新的軟件設計師都被要求掌握如何將需求功能轉化成一個個類,并且定義它們的數據成員、行為,以及它們之間復雜的關系的時候,面向切面編程(Aspect-Oriented Programming,AOP)為我們帶來了新的想法、新的思想、新的模式。

          如果說面向對象編程是關注將需求功能劃分為不同的并且相對獨立,封裝良好的類,并讓它們有著屬于自己的行為,依靠繼承和多態等來定義彼此的關系的話;那么面向切面編程則是希望能夠將通用需求功能從不相關的類當中分離出來,能夠使得很多類共享一個行為,一旦發生變化,不必修改很多類,而只需要修改這個行為即可。

          面向切面編程是一個令人興奮不已的新模式。就開發軟件系統而言,它的影響力必將會和有著數十年應用歷史的面向對象編程一樣巨大。面向切面編程和面向對象編程不但不是互相競爭的技術而且彼此還是很好的互補。面向對象編程主要用于為同一對象層次的公用行為建模。它的弱點是將公共行為應用于多個無關對象模型之間。而這恰恰是面向切面編程適合的地方。有了 AOP,我們可以定義交叉的關系,并將這些關系應用于跨模塊的、彼此不同的對象模型。AOP 同時還可以讓我們層次化功能性而不是嵌入功能性,從而使得代碼有更好的可讀性和易于維護。它會和面向對象編程合作得很好。


        猜你感興趣:

        1.程序員簡歷個人評價

        2.java軟件工程師簡歷

        3.java工程師簡歷范文免費參考

        4.悄無聲息的意思勢什么如何造句

        5.java簡歷中項目經驗怎么寫范文

        6.八年級數學上冊三角形的內角精選練習題

        1874441 主站蜘蛛池模板: 国产一区二区三区色老头| 成人自拍小视频免费观看| 丝袜美腿亚洲综合第一页| 国产亚洲精品AA片在线播放天| 亚洲精品无码久久一线| 国产精品一区二区三区四区| 国产91精选在线观看| 伊在人间香蕉最新视频| 精品欧美一区二区在线观看| 在线视频不卡在线亚洲| 四虎国产精品成人免费久久| 免费人成网站视频在线观看| 中文字幕在线日韩一区| 香蕉99国内自产自拍视频| 久久亚洲国产精品日日av夜夜| 国产av一区二区麻豆熟女| 3d无码纯肉动漫在线观看| 亚洲午夜av久久久精品影院| 久久精品第九区免费观看| 99久久亚洲综合网精品| 亚洲国产大胸一区二区三区| 日本免费精品| 中文字幕欧美日韩| 少妇被黑人到高潮喷出白浆| 国产精品无码在线看| 亚洲高清国产拍精品熟女| 久久精品国产久精国产69| 精品国产乱子伦一区二区三区| 国产老妇伦国产熟女老妇高清| 白丝美女办公室高潮喷水视频| 日韩精品中文字一区二区| av中文无码韩国亚洲色偷偷| 久精品视频免费观看| 久久人与动人物a级毛片| 在线免费观看毛片av| 激情综合五月丁香亚洲| AV在线亚洲欧洲日产一区二区| 亚洲精品一区国产| 成人激情视频一区二区三区| 国产AV巨作丝袜秘书| 夜色福利站www国产在线视频|