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

隨筆 - 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>
            国产精品视频区| 国产乱码精品一区二区三| 国产精品主播| 日韩亚洲不卡在线| 美女图片一区二区| 欧美一区二区视频在线观看2020| 欧美激情四色| 亚洲精品一级| 久久午夜电影网| 日韩午夜免费| 欧美精品一区二区三区四区| 在线观看亚洲视频| 欧美专区在线| 欧美在线免费观看亚洲| 欧美日韩国产首页在线观看| 日韩一区二区精品| 一区二区日韩| 国产精品永久| 久久激五月天综合精品| 亚洲综合色网站| 国产伦精品一区二区三区四区免费| 亚洲欧美日韩国产成人精品影院 | 久热精品在线| 国产婷婷色综合av蜜臀av| 欧美一区二区视频网站| 性做久久久久久免费观看欧美 | 日韩一级网站| 国产精品啊啊啊| 欧美中文字幕久久| 欧美一区二区免费| 一区二区三区在线视频播放| 久久这里只精品最新地址| 久久久一区二区| 99在线|亚洲一区二区| 亚洲裸体俱乐部裸体舞表演av| 欧美日韩视频在线第一区| 亚洲一区二区少妇| 欧美一区二区成人| 亚洲日本欧美日韩高观看| 一本色道久久综合亚洲精品不| 国产欧美日本| 欧美多人爱爱视频网站| 久久人人九九| 亚洲一区二区三区免费观看| 欧美在线视频一区二区三区| 亚洲精品一区二区三区樱花| 在线视频欧美一区| 亚洲国产99精品国自产| 日韩视频在线一区| 国产香蕉久久精品综合网| 亚洲电影在线播放| 国产日韩欧美一区二区三区四区| 久久精品一区二区| 欧美视频免费| 欧美www视频| 国产精品一区2区| 免费成人性网站| 欧美韩日一区| 久久亚洲国产精品日日av夜夜| 欧美国产日韩a欧美在线观看| 亚洲欧美制服另类日韩| 久久免费一区| 欧美有码在线视频| 欧美精品一区在线播放| 亚洲巨乳在线| 美女视频网站黄色亚洲| 欧美一区在线视频| 欧美日韩国产一级片| 欧美福利在线| 国外成人在线视频| 亚洲免费av片| 亚洲欧洲日韩在线| 欧美在线视频一区| 欧美一区国产一区| 欧美精品日日鲁夜夜添| 久久伊人精品天天| 国产日韩精品电影| 亚洲永久精品国产| 亚洲欧美国产va在线影院| 欧美精品久久久久久久久老牛影院| 欧美中文字幕视频在线观看| 国产精品国产三级国产aⅴ9色| 亚洲国产精品传媒在线观看| 在线免费不卡视频| 久久久久久久久久久久久久一区| 欧美一区午夜精品| 国产日韩精品视频一区二区三区 | 韩日精品在线| 欧美在线观看你懂的| 久久激情婷婷| 国内精品久久久久伊人av| 欧美一区二区三区男人的天堂| 日韩图片一区| 欧美日韩精品综合| 一本色道久久综合狠狠躁篇怎么玩| 日韩亚洲在线| 欧美无砖砖区免费| 亚洲一级二级| 久久久91精品国产一区二区三区 | 亚洲精品在线视频观看| 日韩一级视频免费观看在线| 欧美黄色大片网站| 亚洲男女自偷自拍| 亚洲国产成人精品久久| 午夜精品av| 亚洲日韩中文字幕在线播放| 国产精品国产精品| 欧美成人一区二区三区片免费| 亚洲一品av免费观看| 久热精品在线| 午夜久久电影网| 亚洲国产视频直播| 国产拍揄自揄精品视频麻豆| 欧美精品久久一区二区| 欧美在线视频二区| 在线一区二区日韩| 欧美激情视频在线播放| 久久国产精品一区二区| 一本久道综合久久精品| 亚洲二区在线观看| 国产亚洲欧美另类中文| 欧美三级乱人伦电影| 欧美高清在线一区二区| 久久精品一区二区三区中文字幕 | 老司机精品导航| 亚洲欧美在线免费| 一本一本久久a久久精品综合麻豆| 激情校园亚洲| 国产性做久久久久久| 国产精品久久久91| 欧美日韩免费精品| 欧美成人精品在线| 久久亚洲免费| 久久久美女艺术照精彩视频福利播放| 亚洲视频专区在线| 在线性视频日韩欧美| 亚洲精品偷拍| 亚洲精品1234| 亚洲国产精品一区二区www在线| 麻豆精品一区二区综合av| 久久久精品国产99久久精品芒果| 亚洲字幕在线观看| 亚洲曰本av电影| 亚洲自拍啪啪| 性色av一区二区三区| 香蕉久久夜色精品| 久久99伊人| 久久免费视频这里只有精品| 久久久久久久一区| 麻豆久久久9性大片| 久久亚洲综合色一区二区三区| 久久久久一本一区二区青青蜜月| 欧美中文在线免费| 美国十次成人| 亚洲国产一区二区三区a毛片| 欧美大片免费| 最近看过的日韩成人| 日韩视频精品在线观看| 中文网丁香综合网| 亚洲欧美日韩在线一区| 久久精品国亚洲| 美日韩精品免费观看视频| 欧美激情视频一区二区三区在线播放| 欧美激情在线狂野欧美精品| 欧美日韩亚洲一区| 国产麻豆日韩| 亚洲第一黄网| 中日韩美女免费视频网址在线观看 | 亚洲精品久久久久久久久久久久久| 亚洲大片av| 亚洲深夜影院| 久久精品99国产精品日本 | 亚洲一区视频| 久久精彩视频| 亚洲激情一区| 亚洲欧美在线另类| 免费观看成人| 国产精品亚发布| 亚洲国产一区二区三区a毛片| 亚洲视频中文字幕| 免费看成人av| 亚洲一区免费网站| 美女久久一区| 国产欧美日韩视频一区二区| 亚洲国产va精品久久久不卡综合| 亚洲午夜精品久久久久久浪潮| 久久久久国产精品一区二区| 亚洲欧洲综合| 久久久999精品| 欧美色精品在线视频| 在线成人欧美| 性色av一区二区三区| 亚洲国产另类久久精品| 欧美一区二区三区男人的天堂 | 欧美色道久久88综合亚洲精品| 国产主播精品| 亚洲综合精品一区二区| 亚洲国产专区| 久久人人爽国产| 国产欧美精品xxxx另类|