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

隨筆 - 3, 文章 - 0, 評論 - 16, 引用 - 0
數據加載中……
re: 簡單說兩句IoC和狗皮膏藥 kjin101 2008-04-01 10:00
策略模式當然可以用IoC實現,我原貼里說的很清楚。但這只是策略模式一個側面(解析策略object)的一種具體實現方式而已。策略模式完全可以用非IoC方式(比如directory lookup,singleton factory等等)來達到相同的實質目的(將算法或策略分解為獨立object)。如果僅僅因為某一側面的眾多可能實現中的一種特定實現正好用到了IoC就將策略模式說成是IoC,那硬把馮諾伊曼架構和集成電路說成是一回事也不為過。

另一方面,IoC也可以被用來搭接很多以其它非策略模式分解的的應用。比如,IoC可以用來實現事件發生器和事件觀測器的搭接,Object適配器的搭接,等等。如果IoC等同于策略模式,那么以同樣的理由,IoC也等同于發布訂閱模式,等同于適配器模式,等同于等等等等其他更多設計模式。。。最后硬把策略模式,IoC,以及發布訂閱,適配器,等等等等通通混為一談。。。是否也同樣不為過呢?
> 不是很理解dynamic invocation proxies的意思,但pxgenproxy –h=foo.h > setup.xml這個命令行里的foo.h是必須的嗎?

指定foo.h對pxgenproxy不是必須的,但對編譯生成后的代碼是必須的。-h=foo.h的目的只不過是讓pxgenproxy將#include "foo.h"加入到生成代碼中而已。

> 是必須的話那就離不開源代碼了,至少是離不開頭文件的。
> 這對于動態裝載進來的、無法預知源代碼或頭文件的程序來說,
> 譬如說那些允許裝載第三方插件的場合,就不太適用了。

foo.h只是頭文件,不是源代碼。這里,我們所真正要求的是提供class和函數的類型和簽名聲明。除了debug或腳本程序環境等少數特殊工具以外,絕大多數C++(甚至在ANSI-C)實際應用中并不存在要調用一個第三方class或函數而不知道函數的簽名或class的聲明的情況。我E文BLOG上討論的就是這個問題。最重要的一點就是:IOC的實質目的并不是提供一個腳本環境,而是組件架構。你的目的若是需要調用C++庫的腳本環境,請不要考慮POCOCAPSULE。

> 但是reflection卻可以使用在這種場合。譬如說在一個 dll/so里,
> 裝載進來時將reflection信息(class的名字、屬性和方法)注冊進某個
> factory之類的東西里,然后ioc container就能用class名字在factory
> 里找出并構造出那個class的實例,這個過程不需要頭文件和pxgenproxy
> 這樣的步驟。

關于reflection的陳述我完全同意。但IoC的實質目的(至少對于PocoCapsule IoC框架來說)與reflection并不相同。IoC完全不必照搬其他基于天然reflection機制的IoC框架實現。達到實質目的是最根本的。在我的E文BLOG文中比較了用reflection的缺點。。。。對絕大多數C++應用來說,reflection機制往往是有害的(主要是增加內存占用和限制開發方式。。。比如禁止了模板和宏的應用)

> vcf的reflection并不需要修改頭文件,它要求加的那些宏是用來聲明reflect
> 信息的,完全可以和class分隔開放在別的地方的,你對它的誤解我想可能
> 是因為它的例子里把那些宏寫在了class定義里頭。

謝謝指正。但需要人肉寫內些宏已經與使用IoC減少非業務邏輯代碼的編寫的除衷相矛盾了。

> 老實說,可能是受java的影響比較大,我自己并不喜歡pxgenproxy
> 這類帶點源代碼生成味道的東西,因為它會強迫你必須取得部分源代碼,
> 這不適用于動態的開放的基于二進制層次的構件復用的環境。

pxgenproxy根本不需要任何源代碼,也根本不會對使用第三方二進制模塊造成任何障礙。pococapsule實例代碼(見<http://www.pocomatic.com/docs/cpp-examples)中有很多這些例子。。。比如調用stdio中的printf(),調用iostream中的std::cout<<() operator,調用第三方CORBA或SOAP引擎函數等等。。。。

> 但是,像vcf這類的reflection其實還是依賴于源代碼,
> 做得還是不徹底,因為c++編譯后沒有 meta data了。
> 可是c++ 0x不在乎這個,那我們也沒轍。

IoC框架的目的不是為了提供debug或腳本環境,而是為了將管線邏輯分離并轉移至框架內,并將讓框架基于用戶提供的聲明式描述來完成管線搭接和應用的部署配置。對于此目的,reflection并不是必須的。相反,在C++中加入reflection將不可避免地增大內存開銷,這對很多C++應用來說是致命的。所以,即使以后的C++升級加上了對reflection的支持(甚至CERN現在就有一個。。。請艘SEAL Reflex),PocoCapsule C++也不會考慮使用(同樣的道理,PocoCapsule完全避免使用exception, template, rtti, stl, iostream等等機制和庫,就是要盡量減少內存開銷)。當然,PocoCapsule不會去禁止業務邏輯模塊去使用這些機制或庫。

多謝討論!
是javaeye的suntoe嗎?也是牛人呀。。。以后我可以多同你探討和請教了。個人感覺VCF里的reflection太業余了,居然要求人肉修改poco的頭文件。。。與非侵入思想背道而馳。IoC需要reflect才能實現才真正有用,這種認識完全是個誤區。。。迷惑了很多人。。。事實上恰恰相反。。。在C++中如果真用reflection(比如CERN的Reflex)來實現IoC,所帶來的問題反而比不用reflection多。我E文博客上探討了一下這個問題(<http://ke-jin.blogspot.com/2008/02/dynamic-invocation-proxy-in-pococapsule.html>)。不過國內有可能上不了內個網,過幾天我會把該文轉到PocoCapsule的wiki上。。。。我說話也是邏輯亂跳。。。估計編程的都這德行。。。;)
>> 引用沒有 const,指針有 const;

引用可以有const。
多謝捧場。。。這篇東西在別的地方曾經被幾個老大斥責為很黃很暴力。。。嘿嘿。。。
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <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久久| 久久深夜福利免费观看| 欧美成人免费播放| 欧美午夜精品伦理| 国产一级久久| 亚洲精品欧美精品| 亚洲国产免费看| 欧美在线视频免费| 久久av最新网址| 久久亚洲精品欧美| 欧美成人免费一级人片100| 欧美va亚洲va日韩∨a综合色| 欧美高清视频一区| 国产精品一区在线观看| 亚洲国产成人在线| 亚洲免费视频观看| 久久综合五月| 亚洲网站啪啪| 牛牛精品成人免费视频| 国产精品亚发布| 亚洲国产精品福利| 西西人体一区二区| 亚洲黄页视频免费观看| 在线亚洲电影| 欧美高清自拍一区| 国产一区二区三区在线观看精品| 亚洲精品国产欧美| 久久久久久久国产| 日韩午夜高潮| 美女精品一区| 国产自产2019最新不卡| 亚洲永久免费观看| 亚洲国产一区二区三区a毛片| 亚洲欧美在线网| 国产精品国色综合久久| 日韩一级片网址| 欧美激情小视频| 欧美一区二区三区在线| 国产精品久久网| 亚洲无亚洲人成网站77777| 欧美丰满高潮xxxx喷水动漫| 欧美一区二区视频网站| 国产精品视频999| 亚洲一区精品电影| 日韩视频第一页| 欧美久久久久免费| 亚洲日韩欧美视频| 欧美黄色免费| 欧美成人官网二区| 91久久亚洲| 亚洲成人中文| 欧美高清视频一区| 亚洲精品一区二区三区福利| 欧美暴力喷水在线| 久久综合中文| 亚洲美女精品一区| 亚洲日本欧美日韩高观看| 男人的天堂成人在线| 在线观看视频一区二区| 裸体素人女欧美日韩| 久久久久久久久久久久久女国产乱| 国产农村妇女毛片精品久久麻豆| 在线综合视频| 欧美一区在线看| 国产农村妇女精品一区二区 | 欧美成人精品福利| 亚洲大胆女人| 亚洲国产成人精品久久| 欧美国产亚洲视频| 中文日韩在线视频| 亚洲视频导航| 好看的av在线不卡观看| 欧美成人激情视频免费观看| 欧美成人伊人久久综合网| 亚洲精品在线视频| 一区二区免费看| 国产又爽又黄的激情精品视频| 免费看精品久久片| 欧美日本免费| 久久精品99| 欧美激情国产精品| 午夜在线成人av| 久久综合激情| 亚洲欧美另类在线| 久久精品一区二区国产| 日韩一本二本av| 先锋影音久久久| 亚洲美女在线国产| 亚洲欧美精品伊人久久| 亚洲国产一区二区三区a毛片| 夜夜狂射影院欧美极品| 一区福利视频| 亚洲午夜国产成人av电影男同| 国产一区美女| 一区二区三区回区在观看免费视频| 国产亚洲亚洲| 亚洲免费观看高清完整版在线观看熊 | 久久久久免费视频| 欧美久久婷婷综合色| 欧美专区在线观看| 欧美日本一区二区三区 | 欧美在线视频免费观看| 免费在线观看一区二区| 性欧美精品高清| 欧美精品1区2区3区| 久久久一区二区| 国产精品萝li| 亚洲精品久久久久久久久久久| 国产综合视频| 亚洲综合视频一区| 亚洲性视频网址| 欧美精品一卡| 欧美高清影院| 在线观看日韩| 久久精品二区亚洲w码| 午夜精品视频在线观看一区二区| 欧美wwwwww| 欧美va天堂在线| 很黄很黄激情成人| 新狼窝色av性久久久久久| 亚洲一二三区在线| 欧美成人精品一区二区| 欧美v日韩v国产v| 欧美与黑人午夜性猛交久久久| 欧美精品自拍| 亚洲国产欧美不卡在线观看| 在线观看91久久久久久| 小黄鸭视频精品导航| 欧美一级视频| 国产亚洲成av人在线观看导航| 亚洲一区二区三区视频| 亚洲男人的天堂在线| 国产精品久久久亚洲一区| 亚洲天堂av综合网| 午夜精品999| 国产精品午夜久久| 欧美一级理论性理论a| 久久久精品2019中文字幕神马| 国产一区二区三区直播精品电影 | 亚洲欧美韩国| 久久国内精品视频| 国产自产精品| 久久乐国产精品| 亚洲电影av在线| 亚洲一二三区精品| 国产欧美综合在线| 久久精品人人爽| 亚洲人成人77777线观看| 99热在这里有精品免费| 欧美性大战久久久久久久| 亚洲自拍偷拍色片视频| 麻豆精品网站| 99在线精品视频在线观看| 国产精品超碰97尤物18| 欧美一区二区视频免费观看 | 亚洲一区二区三区中文字幕| 欧美日韩蜜桃| 久久黄色小说| 亚洲黄页视频免费观看| 亚洲欧美日韩综合| 狠狠色狠狠色综合| 欧美电影专区| 亚洲一区激情| 亚洲高清不卡| 欧美在现视频| 99视频精品全国免费| 国产啪精品视频| 欧美精品手机在线| 欧美在线观看日本一区| 亚洲国产成人av好男人在线观看| 亚洲一区精品在线| 在线观看国产精品淫| 欧美网站在线| 美女尤物久久精品| 亚洲一区二区视频| 亚洲国产精品一区二区www在线| 亚洲欧美综合精品久久成人| 亚洲国产高清aⅴ视频| 国产精品区一区二区三| 欧美国产精品日韩| 久久精品国产一区二区三| 99视频有精品| 最新国产拍偷乱拍精品| 久久在线视频在线| 先锋亚洲精品| 亚洲一区二区在线| 亚洲日本中文字幕免费在线不卡| 国产一区二区三区高清播放| 国产精品白丝jk黑袜喷水| 男男成人高潮片免费网站| 久久精品女人天堂| 欧美一区二区三区精品| 国产日韩精品视频一区二区三区| 亚洲国产欧美日韩| 午夜国产不卡在线观看视频|