zoukankan      html  css  js  c++  java
  • 为什么设计模式在C++社区没有Java社区流行?

    我们发现设计模式在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等


  • 相关阅读:
    jquery遍历table的tr获取td的值
    Java判断文件、文件夹是否存在
    项目搭建系列之三:SpringMVC框架下使用Ehcache对象、数据缓存
    J2EE课程设计:在线书店管理系统
    项目搭建系列之二:SpringMVC框架下配置MyBatis
    使用Git(msysgit)和TortoiseGit上传代码到GitHub
    安卓课程设计:微课表
    项目搭建系列之一:使用Maven搭建SpringMVC项目
    常用markdown语法
    [转]优秀程序员应该做的几件事
  • 原文地址:https://www.cnblogs.com/lxjshuju/p/6803490.html
Copyright © 2011-2022 走看看