• <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>
               我們發現設計模式在Java社區很流行,但是在C++社區卻沒有那么被關注,甚至有點被排斥,究竟是什么原因造成這個差異的呢?

               昨天和同事討論這個問題,最后得出幾點原因:

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

               (2)在Java的類庫體系中,很多設計本身就是基于設計模式的,所以在調用Java類庫時,你會不知不覺地使用設計模式,這樣導致你在設計自己的接口時也會使用設計模式。

               (3)C++一般被用來解決一些比較底層的問題,所以用C++時,我們更多的關心是如何實現某個feature; 但是Java借助其豐富的類庫,實現feature往往不是問題,所以他們有更多精力關注設計。

               (4)設計模式一般要間接層,會造成性能的損失,而C++應用的場合往往比較強調性能。對于這個問題,如果你的程序更注重性能(比如內核),確實不應該引入太多間接層;但是如果你的程序更注重可擴充性和可維護性,你就該考慮設計模式了。

               (5)C++社區的很多程序員是從c甚至匯編轉過來的,所以這些人更習慣面向過程的設計方式,即使用C++也只是拿來封裝一些簡單的類,用不到設計模式。

               (6)C++支持多種編程模型,包括面向過程,面向對象,基于對象,泛型編程等,設計模式主要是基于面向對象的,而Java只支持面向對象開發。

               最后貼張某校的招生海報,你看看究竟是C, 還是C++?你是怎么看設計模式在C++社區的使用情況呢?

                
            posted on 2012-06-14 09:22 Richard Wei 閱讀(5360) 評論(13)  編輯 收藏 引用 所屬分類: 設計模式

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

            我也沒有看懂, 和C, C++什么關系呢? 為什么不是java呢?   回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?[未登錄]
            2012-06-14 13:41 | 春秋十二月
            @Richard Wei
            C或C++罩杯?  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2012-06-15 09:24 | Richard Wei
            @春秋十二月
            恩,你長大了 :)  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2012-06-15 16:21 | leolai
            好吧,Orge就是一堆設計模式堆起來的  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2012-06-15 16:52 | Richard Wei
            @leolai
            是的,設計模式在比較大型的C++開源項目中用的還是比較多的,比如網絡庫ACE,界面庫QT,游戲引擎Orge, Irrlicht等  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2012-06-20 11:04 | 畢達哥拉斯半圓
            完全不是那么回事,設計模式在C++里用的很多,可能有兩個原因造成這個錯覺:1,c++有多種編程風格,看你用哪個;2,現在java比c++熱,初學者多學java,因此說的比較多而已。  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2012-06-20 11:12 | Richard Wei
            @畢達哥拉斯半圓
            不錯, 新加了
            (6)C++支持多種編程模型,包括面向過程,面向對象,基于對象,泛型編程等,設計模式主要是基于面向對象的,而Java只支持面向對象開發。  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2012-07-09 16:16 | 哥沒注冊
            在偏底層里面一般都是打散重組使用,在高級語言里面,則多數是被套用。
            孰優孰劣一眼可望  回復  更多評論
              
            # re: 為什么設計模式在C++社區沒有Java社區流行?
            2013-10-19 22:38 | 小胖
            面向妹子,面向對象,C++
            哈哈  回復  更多評論
              
            久久AAAA片一区二区| 久久国产精品-久久精品| 热综合一本伊人久久精品 | 国产亚洲精午夜久久久久久| 欧美亚洲另类久久综合| 精品无码人妻久久久久久| 老男人久久青草av高清| 精品久久久久久无码专区| 亚洲伊人久久大香线蕉苏妲己| 欧美成a人片免费看久久| 99久久国产精品免费一区二区| 国产亚洲欧美精品久久久| 91精品国产综合久久四虎久久无码一级| 狠狠人妻久久久久久综合蜜桃| 无码人妻久久一区二区三区蜜桃| 亚洲av伊人久久综合密臀性色| 久久精品国产影库免费看| 午夜肉伦伦影院久久精品免费看国产一区二区三区 | 国产精品日韩欧美久久综合| 国产精品久久久久蜜芽| 国产精品欧美久久久天天影视| 人妻少妇精品久久| 人人狠狠综合久久亚洲88| 亚洲第一极品精品无码久久| 久久狠狠一本精品综合网| 国产美女久久精品香蕉69| 一本大道久久东京热无码AV| 热re99久久精品国产99热| 久久婷婷成人综合色综合| 亚洲人成电影网站久久| 亚洲午夜精品久久久久久人妖| 精品久久久无码21p发布| 久久WWW免费人成—看片| 国产美女久久久| 欧美丰满熟妇BBB久久久| 色老头网站久久网| 久久人人爽人人爽人人片AV麻豆 | 亚洲精品97久久中文字幕无码| 久久久青草久久久青草| 亚洲国产精品成人久久| 思思久久好好热精品国产|