2.1 依赖注入(DI)和控制反转(IOC)

Java应用程序——是一个界定很宽松的术语,其运行范围涵盖了嵌入式应用到n层的大型企业级服务端应用程序,这些应用程序都是典型的由相互合作的对象组成的。因此,一个应用程序中的对象是相互依赖的。

Java平台虽然提供了丰富的应用开发功能,但是它并没有把这些基础构建模块组织成连续的整体,而是把这项任务留给了架构师和开发者。但是你可以使用设计模式,比如工厂模式、抽象工厂模式、建造器模式、装饰者模式以及服务定位器模式等,来构建各种各样的类和对象实例,从而组成完整的应用程序。每个设计模式都根据最佳实践被赋予了形象的名字,通过它们的名字可以很好地描述该模式能干什么、用于什么情形下、解决什么问题,等等,这就使得设计模式简单易用。设计模式是程序开发最佳实践的结晶,所以你应该在你的应用程序中使用它们。

Spring框架的控制反转(IOC)针对上述问题提供了一种标准化的解决方案,即把应用中互相独立的组件组合在一起,从而组成一个完整的可以运行的应用程序。Spring框架的代码遵循设计模式的最佳实践,所以可以直接集成到自己的应用中。因此,大量的组织机构都使用Spring框架来保证自己应用程序的健壮性和可维护性。

背景

2004年Martin Fowler在他的个人网站上提出了关于控制反转(IoC,Inversion of Control)的概念,“The question is, what aspect of control are [they] inverting?”,后来,他又建议重新命名这个概念,使其可以见名知意,从而提出了依赖注入(DI,Dependency Injection)的概念。

results matching ""

    No results matching ""