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

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 language。AspectJ就是這樣做的?,F在也有AspectC,AspectC++。這種做法又讓我想起了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 肥仔 閱讀(359) 評論(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>
            亚洲私拍自拍| 亚洲字幕一区二区| 欧美性大战久久久久久久| 亚洲午夜影视影院在线观看| 99国产精品久久久久久久成人热| 国产精品地址| 久久久久久综合网天天| 久久久久久久999精品视频| 在线日韩电影| 亚洲人体大胆视频| 欧美日韩国产色视频| 亚洲欧美日韩专区| 欧美在线免费观看亚洲| 亚洲欧洲三级电影| 艳妇臀荡乳欲伦亚洲一区| 国产日韩精品视频一区二区三区| 亚洲欧美久久久| 久久尤物电影视频在线观看| 午夜精品在线| 亚洲电影观看| 一区二区三区欧美在线| 国产精品视频久久一区| 免费美女久久99| 欧美日韩一区二区三区在线 | 欧美三区不卡| 久久成人在线| 欧美成人午夜剧场免费观看| 亚洲综合日本| 麻豆成人综合网| 亚洲一区二区三区四区五区午夜| 久久aⅴ国产紧身牛仔裤| 亚洲精品一区中文| 亚洲欧美视频一区二区三区| 91久久久久久国产精品| 亚洲午夜久久久久久久久电影网| 精品999成人| 一本色道久久综合亚洲精品小说 | 亚洲国产欧美另类丝袜| 一区二区三区视频在线| 精品51国产黑色丝袜高跟鞋| 99re6这里只有精品| 韩日视频一区| 日韩视频中文| 影音先锋一区| 亚洲一区二区三区四区在线观看| 亚洲国产精品日韩| 亚洲女优在线| 一本一本久久a久久精品综合妖精 一本一本久久a久久精品综合麻豆 | 亚洲欧美激情四射在线日 | 亚洲黄色免费网站| 国产欧美日韩另类视频免费观看| 亚洲国产精品电影| 国内精品久久久久久久影视麻豆| 亚洲伦理在线| 亚洲国产99| 午夜精品成人在线| 在线视频中文亚洲| 美女久久网站| 久久全球大尺度高清视频| 欧美日韩在线高清| 亚洲福利精品| 黄色亚洲大片免费在线观看| 中文在线不卡| 99热在这里有精品免费| 久久免费午夜影院| 久久www成人_看片免费不卡| 欧美视频在线一区| 亚洲国产一区视频| 有坂深雪在线一区| 亚洲欧美日韩精品久久| 在线一区日本视频| 老司机午夜精品视频| 久久久久久999| 国产精品视频xxxx| 一区二区冒白浆视频| 亚洲巨乳在线| 老妇喷水一区二区三区| 久久久久久久久久久一区 | 日韩视频在线观看一区二区| 久久久久99精品国产片| 欧美一区二区三区四区视频 | 国产区日韩欧美| 国产精品99久久久久久宅男 | 久久超碰97中文字幕| 午夜精品久久久久久99热| 欧美日韩一区二区免费在线观看| 亚洲国产美女| 亚洲欧洲精品一区二区| 久久亚洲高清| 久热综合在线亚洲精品| 国产视频亚洲精品| 午夜精品免费| 欧美一区二区三区免费视频| 国产精品久久久久久亚洲调教| 亚洲美女色禁图| 亚洲免费观看在线视频| 欧美成人乱码一区二区三区| 浪潮色综合久久天堂| 国内精品伊人久久久久av一坑| 香蕉乱码成人久久天堂爱免费| 亚洲女与黑人做爰| 国产精品久久久久免费a∨| 亚洲精品视频二区| 中文在线一区| 欧美午夜精品理论片a级按摩| 亚洲美女视频在线免费观看| 在线视频你懂得一区| 欧美日韩精品综合在线| 夜色激情一区二区| 亚洲五月六月| 国产精品久久久久久久久动漫 | 激情91久久| 久久九九国产精品| 鲁大师成人一区二区三区| 亚洲第一在线视频| 麻豆91精品| 亚洲国产精品一区二区www在线| 亚洲人成人一区二区在线观看| 欧美本精品男人aⅴ天堂| 亚洲高清不卡| 亚洲乱码视频| 欧美日韩在线精品一区二区三区| 在线一区亚洲| 欧美与欧洲交xxxx免费观看| 国产亚洲欧美色| 久久一综合视频| 亚洲精品免费一区二区三区| 中国日韩欧美久久久久久久久| 欧美日韩在线视频一区二区| 亚洲一区日韩在线| 久久精品国产久精国产思思| 樱桃成人精品视频在线播放| 欧美成人高清视频| 一本大道久久a久久精二百| 亚洲自拍啪啪| 国内精品**久久毛片app| 免播放器亚洲一区| 亚洲精品中文字幕在线观看| 午夜一级久久| 有坂深雪在线一区| 欧美日韩国产91| 亚洲欧美日韩国产精品| 久久综合久久久久88| 亚洲精品在线免费观看视频| 欧美亚洲成人精品| 欧美在线视频一区| 亚洲国产一区二区在线| 亚洲视频自拍偷拍| 国产视频在线观看一区 | 老巨人导航500精品| 亚洲精品一区久久久久久| 国产精品美女久久久久久2018| 久久福利资源站| 亚洲国产精品一区二区第四页av | 一本大道久久a久久精二百| 久久成人资源| 日韩亚洲国产精品| 国产欧美日韩一区二区三区在线 | 亚洲欧洲另类| 国产精品av一区二区| 久久精品亚洲一区| 亚洲免费av片| 久久久精品久久久久| 亚洲美女视频在线观看| 国产欧美日韩一区二区三区| 欧美国产综合一区二区| 性一交一乱一区二区洋洋av| 亚洲国内欧美| 久久久激情视频| 一区二区欧美精品| 精品盗摄一区二区三区| 欧美性久久久| 久热精品视频在线观看| 亚洲午夜免费福利视频| 欧美国产免费| 久久不射中文字幕| 一区二区三区欧美激情| 黄色成人免费观看| 国产精品国产三级国产普通话蜜臀 | 91久久久久久| 国产日韩一区二区三区在线| 欧美久久一级| 久久久国产成人精品| 亚洲无限av看| 亚洲国内高清视频| 美女黄毛**国产精品啪啪| 午夜国产不卡在线观看视频| 亚洲日本va午夜在线电影| 国产一区清纯| 国产精品99免费看| 欧美精品二区| 久久免费的精品国产v∧| 亚洲男人影院| 一区二区av在线| 亚洲国产精品成人精品 | 在线观看视频亚洲| 国产欧美日韩视频| 国产精品高潮呻吟| 欧美激情二区三区| 久热这里只精品99re8久|