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

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類比?;蛟S用Interception模式可以模擬AOP吧,但是這不能表示沒必要提出一個新的paradigm”。請問,用C可以模擬C++嗎?用struct和函數指針可以模擬class嗎?我猜想許多高手可以做到。那么為什么還要有C++OOP呢?
AOP
的編織規則的power不是Interception可輕易實現的。用來指定編織規則的語言和寫aspect的語言可以完全不同,不過一般采取的方案是把寫aspect的語言后者略作擴展后作為weaver rule specification language。AspectJ就是這樣做的?,F在也有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>
            欧美日韩一区二区高清| 欧美日韩免费精品| 国产真实久久| 欧美一区免费视频| 欧美在线免费视频| 欧美日韩中文字幕综合视频| 亚洲国产高清自拍| 亚洲精品中文字| 欧美激情一区二区三区四区| 一区二区三区视频在线播放| 欧美亚洲在线播放| 国产综合亚洲精品一区二| 免费成人黄色av| 夜夜嗨av一区二区三区四区| 久久精品最新地址| 99热免费精品| 欧美人妖另类| 久久香蕉精品| 一区二区三区黄色| 欧美激情精品久久久久久蜜臀| 亚洲精品影视| 狠狠久久五月精品中文字幕| 欧美日韩伦理在线免费| 狼人社综合社区| 中文在线资源观看网站视频免费不卡 | 亚洲国产精品视频| 亚洲精品久久久久久久久久久久久| 欧美—级在线免费片| 午夜精品久久一牛影视| 欧美激情中文字幕乱码免费| 免费看av成人| 性一交一乱一区二区洋洋av| 午夜视频久久久| 欧美激情中文字幕乱码免费| 亚洲欧美日本伦理| 亚洲天堂av在线免费| 亚洲国产成人porn| 国内精品久久久久久| 国产精品久久久免费| 欧美揉bbbbb揉bbbbb| 女仆av观看一区| 午夜精彩视频在线观看不卡| 亚洲小视频在线| 亚洲欧洲三级电影| 亚洲日本免费| 欧美大学生性色视频| 久久九九精品99国产精品| aa国产精品| 一本久道久久综合婷婷鲸鱼| 一本久久a久久精品亚洲| 亚洲视频大全| 午夜精彩国产免费不卡不顿大片| 亚洲无毛电影| 欧美一级在线播放| 久久资源在线| 亚洲成在人线av| 亚洲国产一区二区三区青草影视 | 亚洲青涩在线| 国产一区二区三区四区在线观看| 日韩午夜在线电影| 亚洲精品视频在线观看免费| 亚洲欧美日韩精品久久奇米色影视| 国产午夜精品美女视频明星a级 | 中国成人亚色综合网站| 亚洲午夜极品| 99视频精品在线| 欧美日韩一区成人| 一本色道精品久久一区二区三区 | 国产一区二区三区视频在线观看| 欧美丰满高潮xxxx喷水动漫| 国产精品永久免费| 亚洲午夜黄色| 亚洲一级二级| 国产精品v日韩精品v欧美精品网站| 久久久91精品国产| 国产午夜精品理论片a级探花| 亚洲在线一区二区| 夜夜狂射影院欧美极品| 国产精品夜夜夜| 在线视频亚洲欧美| 99精品黄色片免费大全| 一区二区电影免费在线观看| 国产精品久久久久久久久久直播| 欧美一区二区在线| 免费观看日韩| 99在线热播精品免费99热| 欧美国产视频一区二区| 亚洲一区网站| 久久国内精品自在自线400部| 亚洲第一色中文字幕| 久久久久久久一区二区| 蜜桃av一区二区| 国产精品久久久久77777| 国产午夜精品理论片a级探花| 狠狠色综合播放一区二区| 亚洲欧美中文另类| 91久久久久久久久久久久久| 亚洲电影在线播放| 久久久久久久97| 国产视频一区二区三区在线观看| 伊人婷婷欧美激情| 国产日韩一区欧美| 国产精品美女久久久| 国产欧美日本在线| 亚洲精品视频啊美女在线直播| 亚洲一区二区三区视频播放| 伊人久久亚洲美女图片| 亚洲一区二区三区中文字幕| 欧美一区午夜精品| 伊伊综合在线| 欧美日韩精品欧美日韩精品 | 午夜天堂精品久久久久| 久久久久九九九| 99热精品在线| 欧美人与禽性xxxxx杂性| 亚洲影院在线| 亚洲精品视频中文字幕| 久久成人久久爱| 亚洲欧美日韩国产精品| 日韩一级精品| aa国产精品| 亚洲国内精品| 国产日韩在线视频| 欧美日本在线看| 欧美黄色一区| 欧美99在线视频观看| 欧美在线视频日韩| 性色一区二区| 亚洲欧美日韩国产一区| 一区二区三区四区五区精品| 亚洲人成亚洲人成在线观看图片 | 亚洲清纯自拍| 亚洲国产经典视频| 一区在线电影| 伊人久久大香线| 黑人一区二区三区四区五区| 狠狠做深爱婷婷久久综合一区 | 免费成人黄色片| 麻豆精品在线视频| 免费不卡中文字幕视频| 美女精品在线观看| 欧美区高清在线| 国产亚洲精品v| 在线看无码的免费网站| 日韩亚洲精品电影| 亚洲性视频网站| 久久久青草婷婷精品综合日韩| 欧美成人精品| aⅴ色国产欧美| 欧美va天堂| 欧美日韩国产不卡| 亚洲黄色在线观看| 午夜精品久久久久| 亚洲国内在线| 久久久青草婷婷精品综合日韩 | 亚洲第一毛片| 久久久久久尹人网香蕉| 亚洲三级视频| 欧美国产极速在线| 亚洲国产精品一区二区第一页| 日韩网站在线| 亚洲一区二区三| 亚洲人久久久| 欧美成年视频| 亚洲高清在线视频| 免费日本视频一区| 久久艳片www.17c.com| 狠狠综合久久| 久久久久**毛片大全| 欧美一级一区| 国产综合激情| 欧美91精品| 欧美巨乳在线| 亚洲欧美999| 99在线精品观看| 欧美性一区二区| 美女久久一区| 亚洲免费在线电影| 国产欧美短视频| 久久久免费精品视频| 欧美在线你懂的| 最新中文字幕一区二区三区| 欧美成人免费网站| 欧美日韩精品免费观看视一区二区| 亚洲欧洲综合另类在线| 中文久久乱码一区二区| 国产精品视频在线观看| 久久一二三四| 欧美福利视频| 久久―日本道色综合久久| 欧美成人黄色小视频| 欧美一区二区久久久| 欧美高清在线精品一区| 久久精品72免费观看| 欧美精品免费在线| 欧美国产日韩免费| 国外成人免费视频| 欧美不卡视频一区| 亚洲作爱视频| 亚洲乱码国产乱码精品精可以看 |