您的位置:首页 > 编程语言 > C语言/C++

为什么设计模式java实现的书比较多,C++却很少.

2015-10-25 18:54 585 查看
我们发现设计模式在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只支持面向对象开发。

    (7)设计模式在比较大型的C++开源项目中用的还是比较多的,比如网络库ACE,界面库QT,游戏引擎Orge, Irrlicht等。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: