簡單至及的AOP和IOC

來源:互聯網
上載者:User
I. AOP的例子 1, Google Toolbar: 攔截彈出式視窗,為ISBN加上到Amazon的連結

原始的html文檔對google toolbar對它做的手腳一無所知,toolbar得到原始文檔後開始根據特定的匹配條件往裡面織入代碼:

如果裡面有調用彈出式視窗的代碼,就圍繞著這段代碼插入注釋

如果裡面有ISBN號碼,就為這段文本插入一段連結<a href="http://www.amazon.com/isbn=xxxx">之類的

最終顯示在瀏覽器裡,將少了彈出式視窗代碼,多了ISBN的連結 2, Ctor/Dtor

其實傳統的支援物件導向的語言也已經不自覺的包含了現在被稱為AOP的思想,這就是建構函式和解構函式:編譯器自動在對象建立和對象銷毀時插入代碼,這裡的Aspect是“為對象自動管理資源擷取和釋放的時機”;這種思想擴充一下,比如說在進入或退出特定函數時插入代碼,就是AOP了 II. IoC的例子 電梯

即使已經開始接受高等教育,我在前幾次使用電梯時依然犯錯:當我在較高樓層想下到一樓而此時電梯在較低樓層時,我的第一反映是讓電梯上來我好乘坐,於是便按了“上”的按鈕,結果是當我進入電梯後,電梯並沒有如我希望的那樣開始下行,而是繼續上行;後來我在醫院裡,觀察到很多如我一樣來自農村沒有接觸過電梯的病人家屬,不斷的犯著同樣的錯誤

其實當然電梯的使用是及其簡單的:當你想下時就按“下”,想上時就按“上”,即可;當你想自己“控制”電梯時,事情就變得麻煩了

因此電梯和IoC的思想是一致的:說出你的需求即可,背後的控制由系統來做  

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.