轻量级开发的成功秘诀,第 2 部分: 如何减轻容器
2009-11-11 00:00:00 来源:WEB开发网核心提示: 基于 POJO 的编程 —— 轻量级容器不具侵犯性,它不强迫执行任何 API,轻量级开发的成功秘诀,第 2 部分: 如何减轻容器(2),生命周期管理 —— 轻量级容器管理放入其中的对象的生命周期,最低限度下,这种概念相对简单:一个消费者(类似下面的
基于 POJO 的编程 —— 轻量级容器不具侵犯性。它不强迫执行任何 API。
生命周期管理 —— 轻量级容器管理放入其中的对象的生命周期。最低限度下,它们实例化并销毁对象。
依赖性解析 —— 轻量级容器提供了一个普通的依赖性解析策略。多数容器现在支持称为依赖注入的策略。还有一些支持 Java 2 平台企业版(J2EE)风格的策略,称之为服务定位。
一致的配置 —— 轻量级容器是一个便于提供一致配置服务的位置。
服务关联 —— 轻量级容器提供一种将服务与容器中的对象相关联的方法。
优点
轻量级容器有许多胜于其他容器架构的优点。例如,您可以使用一个更加简单、基于 POJO 的编程模型。使用 POJO 编程,应用程序会更加易于测试。您的对象也可以在容器外运行 —— 例如,在一个测试用例中。通过依赖注入,轻量级容器减少了组件间的依赖性。它们也保护了您在代码上花费的心血,因为您可以在容器间移动应用程序的大部分。
核心设计模式
革新浪潮引发了轻量级容器运动。依赖性管理在这场运动中吹响了第一声号角。早期轻量级容器,比如 Apache 的 Avalon,使用服务定位策略来管理依赖性。现代大多数容器使用依赖注入管理依赖性。
然而,解析依赖性还只是问题的一部分。您还需要可以将服务与容器中的 POJO 相关联。EJB 容器使用代码生成处理该问题。现代容器使用面向方面编程(AOP)和拦截。
依赖注入
在 Java 技术中,依赖注入正迅速地改变我们构建应用程序的方式。这种概念相对简单:一个消费者(类似下面的 Consumer 类)需要一个服务。您为指向该服务(类似下面的 Speaker 类)的消费者添加一个属性。清单 1 展示了此概念的示例。
更多精彩
赞助商链接