• 为什么依赖注入只在 Java 技术栈中流行?
  • 发布于 2个月前
  • 177 热度
    8 评论
为什么依赖注入只在 Java 技术栈中流行,在 go 和 cpp 没有大量使用?
用户评论
  • 弄潮儿
  • Flamego是不是就是?不过我感觉,没必要……用起来也不是痛点,大概我这种jser转的gopher会觉得舒服吧,但我还是觉得反射写起来麻烦。
  • 2023/7/31 20:51:00 [ 0 ] [ 0 ] 回复
  • 原木风
  • 这事得反过来说,反射必定损失不少性能,c++定位不在此,外加没有spring 类似的成功框架,诉求不够强烈
  • 2023/7/31 20:50:00 [ 0 ] [ 0 ] 回复
  • 李明发
  • di是ioc的实现方式,c++也有IOC框架。but,我对c++,理解不够深,c++做ioc 需求不多,也不方便,而且和c++推崇local 反对全局的理念相悖。
  • 2023/7/31 20:49:00 [ 0 ] [ 0 ] 回复
  • 张蜚
  • 依赖注入用多了真不好,会形成一些不好的习惯。会让人忽视设计模式的本质,从而会导致在开发非业务系统,或者使用其他语言的时候,写出的代码非常诡异。
  • 2023/7/31 20:48:00 [ 0 ] [ 0 ] 回复
  • 远行de风
  • 当你不关注的时候 你可以把它理解为一种语法,当你把他当八股文的时候他就变成了“依赖注入”。10年前的AngularJS就已经开始用这种思想了,但并没有人把这种东西翻来覆去的说。
  • 2023/7/31 20:47:00 [ 0 ] [ 0 ] 回复
  • 彼岸半夏
  • 构建复杂系统并且你用的是只支持面向对象的语言java,面对成百上千的单例对象,你要怎么维护他们之间的依赖关系?go和py虽然支持面相对象的编程方式,但是一般业务系统里很少用,基本就是一个业务逻辑对应几个function,本质是面相过程的编程思维,根本就没有对象何来用di来管理对象?
    所以这个问题的本质是面相对象和面相过程之分,两者各有优缺点而已。
  • 2023/7/31 20:42:00 [ 0 ] [ 0 ] 回复
  • 芽色的清茶
  • 首先go也有依赖注入框架wire,而且是谷歌发布的。依赖注入适用于大项目,spring就是用来写大单体的,而且依赖注入自带,所以基本都用。go的框架都比较极简,默认不带这些,用go也不怎么写大单体项目,很多是微服务,所以用的没那么多。
  • 2023/7/31 20:35:00 [ 0 ] [ 0 ] 回复