Spring 之依赖注入Dependency Injection
作者:互联网
Spring 之依赖注入Dependency Injection
一 依赖注入
控制反转IOC和依赖注入DI是同一概念
在spring里 被调用者实例不再由调用者来创建 ,由Spring容器创建,然后注入到需要的调用者
二
为什么依赖注入:
面向对象建模面临的问题:
数据边界和行为边界往往不一致
行为往往跨越多个领域对象:
通过类将行为和其紧密耦合的数据封装在一起,多领域对象行为在一对象中中必然会导致别的对象需要向该对象暴漏其内部状态
DDD模式 领域驱动设计(Domain Driven Desing,简称DDD):
领域驱动设计就是在可扩展性方面: 将复杂多变的业务排除在稳定不变的内核业务之外 : 实现核心业务,利用分层架构抽取复杂业务
松散分层架构中: 允许某层与它的任意下方层发生耦合。
严格分层架构: 某层只能与位于其直接下方的层发生耦合.
核心业务只为其中一层,其上为用户界面层(User Interface)和应用层(Application Layer),其下是基础设施层(Infrastructure Layer)
导致两极:
贫血模型
若将跨越多个领域对象的行为建模在领域服务中。如果这种做法使用过度,则会导致领域对象变成只提供一堆get方法的哑对象
充血模型:
认为方法应该属于领域对象,所有的业务行为被放在领域对象中,随着支持的业务场景变多,导致领域对象而变成上帝类,而且类内部方法的抽象层次很难一致。另外由于行为边界很难恰当,导致对象之间数据访问关系也比较复杂
DCI模式是DDI补充
高层模块不应该依赖于底层模块,两者都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
标签:调用者,对象,Spring,领域,Dependency,Injection,行为,注入 来源: https://www.cnblogs.com/coilan/p/15967622.html