• <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>
               我們發(fā)現(xiàn)設(shè)計(jì)模式在Java社區(qū)很流行,但是在C++社區(qū)卻沒(méi)有那么被關(guān)注,甚至有點(diǎn)被排斥,究竟是什么原因造成這個(gè)差異的呢?

               昨天和同事討論這個(gè)問(wèn)題,最后得出幾點(diǎn)原因:

                (1)C++內(nèi)存需要自己管理,所以有些模式在C++里使用不是那么方便,但是Java不用關(guān)心內(nèi)存,所以在Java里的使用設(shè)計(jì)模式有天生的優(yōu)勢(shì)。隨著shared_ptr, weak_ptr, unique_ptr等加入C++11,相信這方面會(huì)有所改進(jìn)。

               (2)在Java的類庫(kù)體系中,很多設(shè)計(jì)本身就是基于設(shè)計(jì)模式的,所以在調(diào)用Java類庫(kù)時(shí),你會(huì)不知不覺(jué)地使用設(shè)計(jì)模式,這樣導(dǎo)致你在設(shè)計(jì)自己的接口時(shí)也會(huì)使用設(shè)計(jì)模式。

               (3)C++一般被用來(lái)解決一些比較底層的問(wèn)題,所以用C++時(shí),我們更多的關(guān)心是如何實(shí)現(xiàn)某個(gè)feature; 但是Java借助其豐富的類庫(kù),實(shí)現(xiàn)feature往往不是問(wèn)題,所以他們有更多精力關(guān)注設(shè)計(jì)。

               (4)設(shè)計(jì)模式一般要間接層,會(huì)造成性能的損失,而C++應(yīng)用的場(chǎng)合往往比較強(qiáng)調(diào)性能。對(duì)于這個(gè)問(wèn)題,如果你的程序更注重性能(比如內(nèi)核),確實(shí)不應(yīng)該引入太多間接層;但是如果你的程序更注重可擴(kuò)充性和可維護(hù)性,你就該考慮設(shè)計(jì)模式了。

               (5)C++社區(qū)的很多程序員是從c甚至匯編轉(zhuǎn)過(guò)來(lái)的,所以這些人更習(xí)慣面向過(guò)程的設(shè)計(jì)方式,即使用C++也只是拿來(lái)封裝一些簡(jiǎn)單的類,用不到設(shè)計(jì)模式。

               (6)C++支持多種編程模型,包括面向過(guò)程,面向?qū)ο螅趯?duì)象,泛型編程等,設(shè)計(jì)模式主要是基于面向?qū)ο蟮模鳭ava只支持面向?qū)ο箝_(kāi)發(fā)。

               最后貼張某校的招生海報(bào),你看看究竟是C, 還是C++?你是怎么看設(shè)計(jì)模式在C++社區(qū)的使用情況呢?

                
            posted on 2012-06-14 09:22 Richard Wei 閱讀(5362) 評(píng)論(13)  編輯 收藏 引用 所屬分類: 設(shè)計(jì)模式

            FeedBack:
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-14 10:53 | 春秋十二月
            好漂亮的MM呀  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-14 11:16 | Richard Wei
            @春秋十二月
            看來(lái)你沒(méi)看懂, C or C++ :)  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-14 12:26 | 羅朝輝
            江大=江南大學(xué)?  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-14 12:40 | zgpxgame
            @羅朝輝
            浙江大學(xué)  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-14 13:16 | young40
            @Richard Wei

            我也沒(méi)有看懂, 和C, C++什么關(guān)系呢? 為什么不是java呢?   回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?[未登錄](méi)
            2012-06-14 13:41 | 春秋十二月
            @Richard Wei
            C或C++罩杯?  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-15 09:24 | Richard Wei
            @春秋十二月
            恩,你長(zhǎng)大了 :)  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-15 16:21 | leolai
            好吧,Orge就是一堆設(shè)計(jì)模式堆起來(lái)的  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-15 16:52 | Richard Wei
            @leolai
            是的,設(shè)計(jì)模式在比較大型的C++開(kāi)源項(xiàng)目中用的還是比較多的,比如網(wǎng)絡(luò)庫(kù)ACE,界面庫(kù)QT,游戲引擎Orge, Irrlicht等  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-20 11:04 | 畢達(dá)哥拉斯半圓
            完全不是那么回事,設(shè)計(jì)模式在C++里用的很多,可能有兩個(gè)原因造成這個(gè)錯(cuò)覺(jué):1,c++有多種編程風(fēng)格,看你用哪個(gè);2,現(xiàn)在java比c++熱,初學(xué)者多學(xué)java,因此說(shuō)的比較多而已。  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-06-20 11:12 | Richard Wei
            @畢達(dá)哥拉斯半圓
            不錯(cuò), 新加了
            (6)C++支持多種編程模型,包括面向過(guò)程,面向?qū)ο螅趯?duì)象,泛型編程等,設(shè)計(jì)模式主要是基于面向?qū)ο蟮模鳭ava只支持面向?qū)ο箝_(kāi)發(fā)。  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2012-07-09 16:16 | 哥沒(méi)注冊(cè)
            在偏底層里面一般都是打散重組使用,在高級(jí)語(yǔ)言里面,則多數(shù)是被套用。
            孰優(yōu)孰劣一眼可望  回復(fù)  更多評(píng)論
              
            # re: 為什么設(shè)計(jì)模式在C++社區(qū)沒(méi)有Java社區(qū)流行?
            2013-10-19 22:38 | 小胖
            面向妹子,面向?qū)ο螅珻++
            哈哈  回復(fù)  更多評(píng)論
              
            手机看片久久高清国产日韩| 国内精品久久久久久久久电影网 | 少妇高潮惨叫久久久久久 | 久久精品亚洲福利| 91精品国产综合久久香蕉| 青青草国产精品久久久久| 日本久久久精品中文字幕| 777米奇久久最新地址| 久久99国产精品久久久| 久久精品99无色码中文字幕| 99久久国产免费福利| 国产精品无码久久四虎| 久久亚洲精品人成综合网| 99久久人妻无码精品系列| 久久国产高清字幕中文| 99精品久久久久中文字幕| 精品国产91久久久久久久| 伊人久久综合热线大杳蕉下载| 欧美777精品久久久久网| 国产成人无码精品久久久久免费| 韩国三级中文字幕hd久久精品 | 色青青草原桃花久久综合| 成人久久免费网站| 无码人妻久久一区二区三区免费| 国产三级久久久精品麻豆三级| 久久香蕉国产线看观看99| 色欲综合久久躁天天躁| 久久久久人妻精品一区二区三区| 久久久久亚洲AV无码去区首| 国内精品久久久久影院日本| 亚洲乱亚洲乱淫久久| 久久午夜无码鲁丝片秋霞| 精品久久久久久国产免费了| 久久久久99这里有精品10 | 乱亲女H秽乱长久久久| 国内精品伊人久久久久| 亚洲&#228;v永久无码精品天堂久久| 久久久久亚洲av综合波多野结衣| 国产精品欧美久久久久天天影视| 亚洲欧美成人久久综合中文网| 久久精品国产亚洲麻豆|