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

隨筆 - 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>
            久久av一区二区三区漫画| 亚洲乱亚洲高清| 欧美三级乱人伦电影| 久久综合图片| 久久亚洲私人国产精品va| 欧美日本国产一区| 久久久久久亚洲精品杨幂换脸| 久久久久成人精品| 国产精品久久久久国产a级| 一本一本久久| 亚洲欧美怡红院| 国内视频一区| 国产日韩在线亚洲字幕中文| 久久国产夜色精品鲁鲁99| 裸体一区二区三区| 亚洲亚洲精品三区日韩精品在线视频| 久久av最新网址| 久久久精彩视频| 亚洲高清色综合| 欧美国产欧美亚洲国产日韩mv天天看完整 | 欧美成人资源网| 在线日本成人| 在线亚洲欧美| 亚洲精品午夜精品| 久久久久99精品国产片| 日韩午夜视频在线观看| 国产一区欧美日韩| 国产精品视频| 亚洲福利国产| 在线播放日韩| 一区久久精品| 国产中文一区二区三区| 亚洲你懂的在线视频| 欧美精品激情在线观看| 久久人人爽国产| 国产网站欧美日韩免费精品在线观看 | 久久精品国产久精国产爱| 一区二区三区四区国产精品| 国产日韩欧美中文| 欧美三级在线| 欧美亚州一区二区三区| 国产精品无人区| 国产欧美日韩综合| 国产婷婷精品| 国产又爽又黄的激情精品视频| 国产精品日韩欧美一区二区三区| 亚洲在线观看免费| 欧美日韩综合在线| 欧美视频一区二区三区四区| 在线综合亚洲| 亚洲在线免费观看| 国产一区二区欧美日韩| 蜜桃久久精品乱码一区二区| 久久人人九九| 国产精品一区二区在线观看网站| 欧美无乱码久久久免费午夜一区| 狠狠色丁香婷婷综合久久片| 一区二区三区欧美成人| 亚洲一区二区三区激情| 亚洲欧美视频| 亚洲人妖在线| 欧美一区二区三区日韩| 免费一级欧美片在线播放| 欧美日韩中文字幕| 亚洲电影在线观看| 亚洲一级网站| 一本色道久久99精品综合| 一区二区三区回区在观看免费视频| 国产精品嫩草99a| 亚洲电影下载| 国产精品一区二区三区四区 | 欧美在线观看一区二区| 亚洲国产二区| 久久久久久一区| 激情文学综合丁香| 久久久精品动漫| 亚洲欧美国产毛片在线| 欧美黄网免费在线观看| 欧美一区二区网站| 国产区精品视频| 欧美亚洲专区| 午夜亚洲影视| 国产一区在线看| 久久久久久久网| 亚洲欧洲另类| 一区二区亚洲精品国产| 亚洲一级影院| 欧美一区二区免费视频| 国产精品视频专区| 亚洲欧美怡红院| 久久综合狠狠| 亚洲精品久久久久久久久| 欧美激情免费观看| 国产精品久久久久久久浪潮网站 | 日韩亚洲精品电影| 欧美sm视频| 一本色道久久88亚洲综合88| 亚洲综合日韩| 黄网动漫久久久| 亚洲国产日韩在线一区模特| 欧美激情国产日韩精品一区18| 夜夜嗨av一区二区三区免费区| 久久久精品性| 亚洲少妇诱惑| 亚洲特色特黄| 久久综合99re88久久爱| 亚洲国产日韩欧美| 国产精品v欧美精品v日韩精品| 亚洲欧美日韩中文在线制服| 欧美成人亚洲成人| 午夜精品福利一区二区蜜股av| 欧美成人中文字幕| 久久精品视频免费播放| 国产精品国产福利国产秒拍| 亚洲国产精品电影| 在线日韩电影| 亚洲一区二区三区精品视频| 一区二区三区四区国产精品| 毛片一区二区| 欧美国产精品中文字幕| 在线亚洲成人| 日韩小视频在线观看| 麻豆亚洲精品| 免费不卡中文字幕视频| 久久综合婷婷| 欧美日韩一区自拍| 欧美成人综合在线| 久久五月激情| 久久久精品国产一区二区三区 | 欧美精品九九99久久| 亚洲福利视频一区二区| 韩国亚洲精品| 久久免费偷拍视频| 91久久在线视频| 亚洲欧美国产精品va在线观看| 欧美日韩免费观看一区| 亚洲伊人久久综合| 免费在线成人| 亚洲一区在线视频| 亚洲国产视频一区| 国产精品久久久久一区二区三区 | 日韩一二三区视频| 国产精品三级久久久久久电影| 欧美暴力喷水在线| 久久婷婷蜜乳一本欲蜜臀| 久久久久久亚洲综合影院红桃| 久久久久久黄| 欧美日韩精品一区二区天天拍小说| 欧美精品一区二区精品网| 欧美精品福利| 国产一区二区三区久久| 亚洲精品日韩在线| 国产情侣一区| 欧美丝袜一区二区三区| 久久亚洲综合网| 久久久久综合一区二区三区| 一本色道久久综合亚洲精品不卡 | 久久一二三国产| 亚洲一区二区三区午夜| 亚洲精品一区二区三区婷婷月| 久久人人看视频| 欧美与黑人午夜性猛交久久久| 一区二区国产在线观看| 亚洲国产欧美一区| 免费在线视频一区| 久久成人免费网| 久久久亚洲人| 一本色道久久综合亚洲精品高清 | 一区二区三区日韩| 久久久一区二区三区| 欧美一区二区免费| 欧美一区影院| 免费亚洲电影在线| 欧美国产日本| 欧美色区777第一页| 国产精品视频yy9099| 国产精品揄拍500视频| 国产视频不卡| 亚洲高清免费在线| 亚洲欧美中文在线视频| 免费观看成人鲁鲁鲁鲁鲁视频 | 久久亚洲精品一区二区| 亚洲精品女av网站| 午夜久久久久久| 亚洲一区区二区| 亚洲男人的天堂在线观看| 一区二区三区色| 欧美视频一区二区在线观看| 午夜精品免费视频| 欧美伊人精品成人久久综合97| 一区二区在线免费观看| 欧美黄色一级视频| 一区二区激情| 亚洲高清在线观看| 欧美在线视频播放| 亚洲三级视频| 久久综合99re88久久爱| 国产亚洲欧美日韩美女| 99re6这里只有精品视频在线观看| 久久精品国产免费看久久精品|