青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

woaidongmao

文章均收錄自他人博客,但不喜標題前加-[轉貼],因其丑陋,見諒!~
隨筆 - 1469, 文章 - 0, 評論 - 661, 引用 - 0
數據加載中……

AOP重要嗎?

AOPAspect-Oriented Programming)這個領域還很新,不過我樂觀地預計,將來很多大項目會采納AOP方法。在我看來,AOP是非常重要的方向,可能會是軟件開發方法發展道路上的下一個大家伙。當然,AOP并不是一種取代性的技術,就像現在電視沒有取代收音機,電腦也沒有取代電視。不過采用AOP方法后,現在許多模式就不再需要了(當然也會出現一批新的模式),軟件開發過程也將會改觀。

在我看來,軟件開發很大程度上是從需求到實現的映射過程。用戶不會在意這個系統用了哪些技術,他只會在意系統能否滿足他的需求。但是系統構建者的知識結構卻是以各種技術為核心的,有人擅長信息安全技術,有人對負載平衡和容錯技術具有深厚知識,還有人是數據庫專家。如何有效地把需求映射到實現是各種軟件開發方法的核心論題。AOP的三菱鏡隱喻很好地說明了AOP在這個映射中扮演何種角色,這里不好貼圖我就不具體說了。
關注點(concern)的分離,可以讓不同的人專注于不同的事(且是他/她擅長的事)。安全專家就帶著他的團隊編寫事關系統安全的那個aspect好了,系統集成專家可以負責與遺產系統整合的相關部分,業務專家則可以集中注意力于business domain。那么構架師呢?他(她)可以負責總體構架,協調如何把這些各自獨立的aspects編織(weave)成一個能跑的應用程序。(可以在源代碼層編織,也可在byte code層編織。)
我喜歡AOP的理念,但任何技術都不能只停留在理念,其早期實現是非常重要的,甚至關系到技術的存亡。有很多很好的技術,因為一開始沒有很好地實現,只好埋入了廢紙堆。不僅IT技術如此,自然科學理論也是如此,優秀的理論常常需要實驗科學家來驗證。(舉個例子,我們熟知的兩位著名華裔諾貝爾獎獲得者身后站著一位優秀的華裔實驗科學家,這是眾人皆知的美談。)目前實現AOP的語言中最著名的當屬Xerox PARC開發的AspectJ(現移交Eclipse)。我感覺,AspectJJava的關系有些類似于當年C with Classes(后來發展成C++)和C的關系;目前的AspectJ的實現也可類比于當年的CFront。當然,我這樣說只是一種感覺而已 :)
曾有人把AOPInterception類比。或許用Interception模式可以模擬AOP吧,但是這不能表示沒必要提出一個新的paradigm”。請問,用C可以模擬C++嗎?用struct和函數指針可以模擬class嗎?我猜想許多高手可以做到。那么為什么還要有C++OOP呢?
AOP
的編織規則的power不是Interception可輕易實現的。用來指定編織規則的語言和寫aspect的語言可以完全不同,不過一般采取的方案是把寫aspect的語言后者略作擴展后作為weaver rule specification languageAspectJ就是這樣做的。現在也有AspectCAspectC++。這種做法又讓我想起了OOP implementationC++中的引入。C++C語言做了擴展,增加了class, private, public, friend, virtual這些新的內容來描述制定類和類間關系的規則,如果沒有這些新的關鍵字,這個規則可不是那么好表述的。而C語言原來的部分也沒有被廢棄。你看,在成員函數中的如果不定義新的局部類的話,那么不就是差不多用C語言寫每個成員函數嗎?AspectJ也是如此。你用Javaaspects,用擴展了的Java語言(或者看作新語言也無妨)寫weaving rules。這符合用最合適的語言做最適合的事的原則。
回到AOPInterception的比較。Interception的實現往往是動態的。如果規則的粒度比較粗,指定的interception的粒度又比較細(比如說,一刀切地規定在所有函數的入口和出口intercept),那么效率損失不可忽略。 我舉個簡化例子,在每個函數第一行和最后一行加上判斷一個intercept函數指針是否為NULL,如果不是NULL就調用它的代碼,那么要做多少次判斷呀,其中又有多少次是無功而返呢?而AOP weaver可以靜態地編織代碼(源代碼或者byte code),就不需要付出這一額外代價了,而且intercept的粒度可更加細化。
此外,我感覺用Interception模式,關注點沒有很好分離。不像AOP,甚至可以由不同的人用兩種語言來做implement aspectweave aspects這兩件事,關注點分得非常清晰。
另外,關于AOP和設計模式,我有一些想法:從不同的編程語言中可以提煉出不同的代碼模式(idioms,又譯為慣用法),但代碼模式是同特定語言相關的,可能有些模式較為通用,但也有些模式在別的語言中就不再需要。比如reference counting模式在支持GC的語言中就不再必要了吧。這不是說代碼模式不好,更不是說有了模式,GC就不再必要,只不過是各得其所罷了。不能因為熟悉模式并運用自如就認為新技術沒必要。代碼模式如此,那么設計模式又何嘗不是呢,有些模式比較通用,但也有一些設計模式是和范型相關的,其中又多數以OO相關,沒有超脫于OO的框架。(不信?你用C語言或者其他非OO語言實現一遍GoF中的23個模式,看看難度如何,實現是否很自然?POSA v1,v2中的模式可作補充練習。)如果改用AOP,那么很多模式也可自然消亡了,比如interception模式應該就是吧。

 

posted on 2009-06-05 12:56 肥仔 閱讀(357) 評論(0)  編輯 收藏 引用 所屬分類: C++ 基礎

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            久久精品国产亚洲一区二区| 久久久久久一区二区| 亚洲一区高清| 午夜欧美不卡精品aaaaa| 国产精品日韩久久久久| 亚洲免费视频观看| 欧美成人精品福利| 最新国产拍偷乱拍精品| 欧美日韩一区二区三区免费看| 亚洲乱码国产乱码精品精可以看 | 亚洲精品一区二区三区樱花| 日韩午夜黄色| 国产精品日本欧美一区二区三区| 欧美在线不卡| 在线视频精品一区| 亚洲国产精品第一区二区| 在线中文字幕一区| 在线精品国精品国产尤物884a| 欧美色区777第一页| 久久久噜噜噜久久中文字免| 亚洲精品字幕| 亚洲人成人一区二区在线观看| 久久电影一区| 亚洲欧美韩国| 一区二区三区精品国产| 91久久精品一区二区别| 在线欧美亚洲| 激情欧美一区二区三区| 国产亚洲精品bt天堂精选| 91久久久久久| 欧美成人免费网| 蜜臀久久99精品久久久画质超高清| 亚洲专区一二三| 亚洲综合视频1区| 午夜综合激情| 久久精品免费| 欧美成人第一页| 欧美黄色免费网站| 亚洲国产精品免费| 一区二区毛片| 欧美亚洲日本网站| 久久久久久有精品国产| 久久美女艺术照精彩视频福利播放| 亚洲欧美日韩精品在线| 久久精品国产久精国产思思| 久久国产精品网站| 欧美国产日产韩国视频| 欧美欧美天天天天操| 国产精品老牛| 亚洲电影毛片| 亚洲欧美日韩中文播放| 麻豆国产精品va在线观看不卡| 免费成人网www| 一本在线高清不卡dvd| 久久久福利视频| 欧美日韩亚洲一区二区三区四区| 国产日韩欧美高清| 99热免费精品在线观看| 久久精品视频播放| 亚洲精品国精品久久99热| 久久成人免费电影| 欧美三日本三级三级在线播放| 伊人激情综合| 久久精品国产免费看久久精品| 日韩视频免费| 免费在线观看日韩欧美| 国产一区二区三区最好精华液| 中文精品视频| 夜夜嗨av一区二区三区四季av| 久久手机精品视频| 国产一区视频在线观看免费| 亚洲一级免费视频| 亚洲国产精品成人一区二区| 亚洲精品在线免费| 国产精品视频免费一区| 中国成人亚色综合网站| 欧美亚洲在线视频| 国产日韩一区| 欧美在线精品一区| 亚洲二区在线观看| 亚洲一区二区少妇| 国产一区视频观看| 免费看精品久久片| 一本不卡影院| 久久久亚洲国产天美传媒修理工 | 国产精品国产成人国产三级| 一区二区精品在线| 久久婷婷国产麻豆91天堂| 亚洲日韩中文字幕在线播放| 国产精品成人久久久久| 久久久www成人免费精品| 99re8这里有精品热视频免费 | 牛牛影视久久网| 中日韩高清电影网| 免费的成人av| 性伦欧美刺激片在线观看| 亚洲成人资源网| 国产精品免费观看在线| 久久午夜电影网| 亚洲一区二区高清| 亚洲国产精品电影| 久久久久国产一区二区三区四区| 亚洲精品午夜| 黄色精品一区| 国产精品欧美日韩久久| 免费中文日韩| 久久久精品国产免费观看同学| 一区二区三区国产在线| 亚洲第一福利视频| 久久久精品动漫| 亚洲主播在线观看| 99热这里只有精品8| 国产一区日韩一区| 国产精品久久久久高潮| 欧美国产日本在线| 六月婷婷一区| 久久精品夜色噜噜亚洲a∨| 一片黄亚洲嫩模| 亚洲人成小说网站色在线| 裸体丰满少妇做受久久99精品 | 欧美日韩一区二区三区视频| 久久这里有精品视频| 亚洲欧美一区二区三区久久| 99在线热播精品免费99热| 亚洲国产婷婷香蕉久久久久久99| 久久久亚洲一区| 性欧美精品高清| 亚洲一级特黄| 一区二区三区欧美日韩| 亚洲免费成人| 亚洲欧洲一区二区三区久久| 黑人一区二区三区四区五区| 国产亚洲精品综合一区91| 国产伦精品一区二区三区免费| 国产精品久久久久久模特| 欧美视频在线观看 亚洲欧| 国产精品一香蕉国产线看观看| 久久久成人精品| 久久精品91| 久久久久久久综合日本| 久久久久久噜噜噜久久久精品| 久久国产一二区| 久久黄金**| 久久久久久有精品国产| 老司机凹凸av亚洲导航| 欧美1区免费| 亚洲人午夜精品| 亚洲卡通欧美制服中文| 日韩视频免费| 亚洲一区二区三区影院| 亚洲在线观看视频| 久久高清免费观看| 麻豆成人精品| 欧美日韩美女在线观看| 国产精品视频导航| 好吊成人免视频| 亚洲国产三级网| 日韩网站免费观看| 亚洲综合色婷婷| 老牛影视一区二区三区| 亚洲国产精品热久久| 亚洲另类一区二区| 亚洲综合色婷婷| 久久久爽爽爽美女图片| 欧美精品一区二区视频| 国产精品视频一区二区三区| 韩日在线一区| 一区二区三区国产精品| 欧美一区二区视频观看视频| 麻豆精品在线视频| 亚洲精品护士| 午夜伦理片一区| 免费一级欧美在线大片| 国产精品a级| 一区二区三区在线观看欧美| 日韩视频精品在线| 久久国产婷婷国产香蕉| 欧美激情一区二区三区在线视频观看| 亚洲伦伦在线| 久久精品亚洲热| 欧美性大战久久久久久久蜜臀| 韩国自拍一区| 亚洲欧美综合精品久久成人| 免费观看成人www动漫视频| 一区二区三区四区蜜桃| 久久午夜羞羞影院免费观看| 欧美日韩精品在线| 在线观看欧美| 欧美一区二区免费| 91久久精品国产| 欧美中文字幕在线观看| 欧美日韩亚洲高清一区二区| 伊人久久av导航| 欧美亚洲免费在线| 亚洲精品国久久99热| 久久亚洲综合网| 国产亚洲毛片在线| 午夜一区二区三区在线观看| 亚洲国产精品专区久久| 久久久精品久久久久|