为什么需要依赖注入
展开全部
1. 解决复杂的装配问题
通常情况下,我们使用new class来获取一个instance,如果new class不是那么容易实现(如 new A,但A依赖B,B依赖C,C...),依赖注入框架恰好可以解决这类装配问题。例如,飞机生产需要众多零部件,同时需要单独的总装车间进行零部件的装配。依赖注入框架就类似于这里的总装车间,所注入的Bean类似于这里的飞机零部件。依赖注入框架,很好的帮助我们解决了复杂的装配问题。
2. 解耦
A依赖B,只需要向依赖注入框架申明就行,至于B怎么实现,A不用关心。B注册进依赖注入框架,谁来用它,B也不关心。这样A和B就高度解耦,项目就具有更高的扩展性。
结束语
依赖注入框架用来解决复杂单体项目扩张性问题,和各种设计模式要解决的问题一致。但随着微服务兴起,项目变的简单,设计模式谈的也越来越少,依赖注入框架也显得有点太重。毕竟不是所有的项目都是在造飞机。
通常情况下,我们使用new class来获取一个instance,如果new class不是那么容易实现(如 new A,但A依赖B,B依赖C,C...),依赖注入框架恰好可以解决这类装配问题。例如,飞机生产需要众多零部件,同时需要单独的总装车间进行零部件的装配。依赖注入框架就类似于这里的总装车间,所注入的Bean类似于这里的飞机零部件。依赖注入框架,很好的帮助我们解决了复杂的装配问题。
2. 解耦
A依赖B,只需要向依赖注入框架申明就行,至于B怎么实现,A不用关心。B注册进依赖注入框架,谁来用它,B也不关心。这样A和B就高度解耦,项目就具有更高的扩展性。
结束语
依赖注入框架用来解决复杂单体项目扩张性问题,和各种设计模式要解决的问题一致。但随着微服务兴起,项目变的简单,设计模式谈的也越来越少,依赖注入框架也显得有点太重。毕竟不是所有的项目都是在造飞机。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询